home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Camelot / Camelot 098 (1990-12)(Swedish User Group of Amiga)(SE)(PD)[WB].zip / Camelot 098 (1990-12)(Swedish User Group of Amiga)(SE)(PD)[WB].adf / XLisp-Stat / xlisp.help < prev    next >
Text File  |  1990-05-25  |  109KB  |  2,981 lines

  1. ;; system variables
  2. (*OBARRAY* VARIABLE) "The object hash table"
  3. (*STANDARD-INPUT* VARIABLE) "Default input stream."
  4. (*STANDARD-OUTPUT* VARIABLE) "Default output stream."
  5. (*ERROR-OUTPUT* VARIABLE) "Default error output stream."
  6. (*DEBUG-IO* VARIABLE) "Default break input/output stream."
  7. (*TRACE-OUTPUT* VARIABLE) "Default trace output stream."
  8. (*EVALHOOK* VARIABLE)
  9. "If *EVALHOOK* is not NIL, its value must be a function of arguments: 
  10. a form to evaluate and an environment.  This function does the evaluation
  11. instead of EVAL."
  12. (*APPLYHOOK* VARIABLE) "(Not yet implemented)"
  13. (*TRACELIST* VARIABLE) "List of names of functions and macros to be traced"
  14. (*TRACENABLE* VARIABLE) "Enable backtrace on errors"
  15. (*TRACELIMIT* VARIABLE) "Number of levels of trace back information"
  16. (*BREAKENABLE* VARIABLE) "Flag that controls entering the break loop on errors"
  17. (*READTABLE* VARIABLE) "The current readtable."
  18. (*GC-FLAG* VARIABLE) "Controls printing of GC messages"
  19. (*GC-HOOK* VARIABLE) "If not nil, function of two arguments to be called after GC"
  20. (*PRINT-CASE* VARIABLE) "symbol output case (:upcase or :downcase)"
  21. (*RANDOM-STATE* VARIABLE) "Current state of the random number generator"
  22. (*INPUT-STREAM* VARIABLE) "Stream used for buffering between listener and reader."
  23. (PI VARIABLE)
  24. "The floating-point number that is approximately equal to the ratio of the
  25. circumference of a circle to its diameter."
  26. (-   VARIABLE) "The current input expression"
  27. (+   VARIABLE) "The last expression read"
  28. (++  VARIABLE) "The previous value of +"
  29. (+++ VARIABLE) "The previous value of ++"
  30. (*   VARIABLE) "The result of the last evaluation"
  31. (**  VARIABLE) "The previous value of *"
  32. (*** VARIABLE) "The previous value of **"
  33.  
  34. ;; Built in types
  35. (SUBR TYPE) "Built in function"
  36. (FSUBR TYPE) "Built in special form or macro"
  37. (CONS TYPE) "A list cell"
  38. (SYMBOL TYPE) "A symbol"
  39. (FIXNUM TYPE) "An integer"
  40. (FLONUM TYPE) "A floating point number"
  41. (STRING TYPE) "A string"
  42. (OBJECT TYPE) "An xlisp object"
  43. (FILE-STREAM TYPE) "A file stream"
  44. (VECTOR TYPE) "A vector"
  45. (CLOSURE TYPE) "A function closure or macro"
  46. (CHARACTER TYPE) "A character"
  47. (UNNAMED-STREAM TYPE) "An unnamed stream (string input stream, e. g.)"
  48. (COMPLEX TYPE) "A complex number"
  49. (ARRAY TYPE) "A displaced multidimensional array"
  50.  
  51. ;; built in object prototypes
  52. (*OBJECT* VARIABLE) "The top of the object hierarchy."
  53. (HARDWARE-OBJECT-PROTO VARIABLE) "Internally allocatable object prototype"
  54. (WINDOW-PROTO VARIABLE) "Window prototype"
  55. (EDIT-WINDOW-PROTO VARIABLE) "Edit window prototype"
  56. (LISTENER-PROTO VARIABLE) "Listener window prototype"
  57. (MENU-PROTO VARIABLE) "Menu prototype"
  58. (APPLE-MENU-PROTO VARIABLE) "Apple menu prototype"
  59. (MENU-ITEM-PROTO VARIABLE) "Menu item prototype"
  60. (DIALOG-PROTO VARIABLE) "Dialog prototype"
  61. (DIALOG-ITEM-PROTO VARIABLE) "Dialog item prototype"
  62. (BUTTON-ITEM-PROTO VARIABLE) "Dialog button prototype"
  63. (TOGGLE-ITEM-PROTO VARIABLE) "Dialog toggle item (check box) prototype"
  64. (TEXT-ITEM-PROTO VARIABLE) "Dialog text item prototype (editable or static)"
  65. (CHOICE-ITEM-PROTO VARIABLE) "Dialog choice item (radio button cluster) prototype"
  66. (SCROLL-ITEM-PROTO VARIABLE) "Dialog scroll bar prototype"
  67. (LIST-ITEM-PROTO VARIABLE) "Dialog list item prototype"
  68. (GRAPH-WINDOW-PROTO VARIABLE) "Graphics window prototype"
  69. (GRAPH-PROTO VARIABLE) "Dynamic plot prototype"
  70. (SPIN-PROTO VARIABLE) "Rotating plot prototype"
  71. (SCATMAT-PROTO VARIABLE) "Scatterplot matrix prototype"
  72. (NAME-LIST-PROTO VARIABLE) "Name list prototype"
  73. (HISTOGRAM-PROTO VARIABLE) "Histogram prototype"
  74. (SCATTERPLOT-PROTO VARIABLE) "Scatterplot prototype"
  75. (COMPOUND-DATA-PROTO VARIABLE) "Compound data object prototype"
  76.  
  77. ;; evaluator functions 
  78. EVAL
  79. "Args: (expr)
  80. Evaluates EXPR in a NULL environment and returns the result."
  81. APPLY
  82. "Args: (function &rest args)
  83. Conses all arguments but the last onto the last and applies FUNCTION to 
  84. the resulting argument list. Last argument must be a list."
  85. FUNCALL
  86. "Args: (function &rest arguments)
  87. Applies FUNCTION to the ARGUMENTs"
  88. QUOTE
  89. "Syntax: (quote x)
  90. Returns X without evaluating it. ALso 'x."
  91. FUNCTION
  92. "Syntax: (function x)
  93. If X is a lambda expression, creates and returns a lexical closure of X in
  94. the current lexical environment. If X is a symbol that names a function,
  95. returns that function. ALso #'x."
  96. BACKQUOTE
  97. "Syntax: (backquote template) or `template.
  98. Fills in TEMPLATE by expanding COMMA and COMMA-AT expressions."
  99. LAMBDA
  100. "Syntax: (lambda args {forms}*)
  101. Makes a function closure."
  102.  
  103. ;; symbol functions
  104. SET
  105. "Args: (symbol value)
  106. Assigns the value of VALUE to the dynamic variable named by SYMBOL (i. e.
  107. it changes the global definition of SYMBOL), and returns the value assigned."
  108. SETQ
  109. "Syntax: (setq {var form}*)
  110. VARs are not evaluated and must be symbols.  Assigns the value of the first
  111. FORM to the first VAR, then assigns the value of the second FORM to the second
  112. VAR, and so on.  Returns the last value assigned."
  113. SETF
  114. "Syntax: (setf {place newvalue}*)
  115. Replaces the value in PLACE with the value of NEWVALUE, from left to right.
  116. Returns the value of the last NEWVALUE.  Each PLACE may be any one of the
  117. following:
  118.   * A symbol that names a variable.
  119.   * A function call form whose first element is the name of the following
  120.     functions:
  121.     nth
  122.     aref subarray sublist select elt
  123.     get
  124.     symbol-value
  125.     symbol-plist
  126.     documentation
  127.     slot-value
  128.     c?r    c??r    c???r    c????r
  129.     where '?' stands for either 'a' or 'd'."
  130. DEFUN
  131. "Syntax: (defun name lambda-list [doc] {form}*)
  132. Defines a function as the global definition of the symbol NAME. The
  133. complete syntax of a lambda-list is:
  134.     ({var}*
  135.      [&optional {var}*]
  136.      [&rest var]
  137.      [&aux {var}*])
  138. The doc-string DOC, if supplied, is saved as a FUNCTION doc and can be
  139. retrieved by (documentation 'NAME 'function)."
  140. DEFMACRO
  141. "Syntax: (defmacro name defmacro-lambda-list [doc] {form}*)
  142. Defines a macro as the global definition of the symbol NAME. The complete
  143. syntax of a lambda-list is:
  144.     ({var}*
  145.      [&optional {var}*]
  146.      [&rest var]
  147.      [&aux {var}*])
  148. The doc-string DOC, if supplied, is saved as a FUNCTION doc and can be
  149. retrieved by (documentation 'NAME 'function)."
  150. GENSYM
  151. "Args: (&optional (x nil))
  152. Creates and returns a new uninterned symbol whose name is a prefix string
  153. (defaults to \"G\"), followed by a decimal number.  The number is incremented
  154. by each call to GENSYM.  X, if an integer, resets the counter.  If X is a
  155. string, it becomes the new prefix."
  156. MAKE-SYMBOL
  157. "Args: (string)
  158. Create and return new uninterned symbol with print name STRING."
  159. INTERN
  160. "Args: (name)
  161. Returns a symbol having the specified name, creating it if necessary."
  162. SYMBOL-NAME
  163. "Args: (symbol)
  164. Returns the print name of the symbol SYMBOL."
  165. SYMBOL-VALUE
  166. "Args: (symbol)
  167. Returns the current global value of the variable named by SYMBOL."
  168. SYMBOL-FUNCTION
  169. "Args: (symbol)
  170. Returns the current global function definition of the function named by SYMBOL."
  171. SYMBOL-PLIST
  172. "Args: (symbol)
  173. Returns the property list of SYMBOL."
  174. GET
  175. "Args: (symbol indicator)
  176. Looks on the property list of SYMBOL for the specified INDICATOR.  If this
  177. is found, returns the associated value.  Otherwise, returns nil."
  178. PUTPROP
  179. "Args: (symbol value indicator)
  180. Puts property INDICATOR with value VALUE on the property list of SYMBOL.
  181. Returns VALUE."
  182. REMPROP
  183. "Args: (symbol indicator)
  184. Look on property list of SYMBOL for property with specified
  185. INDICATOR.  If found, splice this indicator and its value out of
  186. the plist, and return the tail of the original list starting with
  187. INDICATOR.  If not found, returns NIL with no side effects.
  188. (This is what it should  return. Actually always returns nil. ***BUG***)"
  189. HASH
  190. " Args (sym n)
  191. Computes the hash index for symbol SYM in a table of size N."
  192.             
  193. ;; list functions
  194. CAR
  195. "Args: (list)
  196. Returns the car of LIST.  Returns NIL if LIST is NIL."
  197. CDR
  198. "Args: (list)
  199. Returns the cdr of LIST.  Returns NIL if LIST is NIL."
  200. CAAAAR
  201. "Args: (x)
  202. Equivalent to (CAR (CAR (CAR (CAR X))))."
  203. CAAADR
  204. "Args: (x)
  205. Equivalent to (CAR (CAR (CAR (CDR X))))."
  206. CAAAR
  207. "Args: (x)
  208. Equivalent to (CAR (CAR (CAR X)))."
  209. CAADAR
  210. "Args: (x)
  211. Equivalent to (CAR (CAR (CDR (CAR X))))."
  212. CAADDR
  213. "Args: (x)
  214. Equivalent to (CAR (CAR (CDR (CDR X))))."
  215. CAADR
  216. "Args: (x)
  217. Equivalent to (CAR (CAR (CDR X)))."
  218. CAAR
  219. "Args: (x)
  220. Equivalent to (CAR (CAR X))."
  221. CADAAR
  222. "Args: (x)
  223. Equivalent to (CAR (CDR (CAR (CAR X))))."
  224. CADADR
  225. "Args: (x)
  226. Equivalent to (CAR (CDR (CAR (CDR X))))."
  227. CADAR
  228. "Args: (x)
  229. Equivalent to (CAR (CDR (CAR X)))."
  230. CADDAR
  231. "Args: (x)
  232. Equivalent to (CAR (CDR (CDR (CAR X))))."
  233. CADDDR
  234. "Args: (x)
  235. Equivalent to (CAR (CDR (CDR (CDR X))))."
  236. CADDR
  237. "Args: (x)
  238. Equivalent to (CAR (CDR (CDR X)))."
  239. CADR
  240. "Args: (x)
  241. Equivalent to (CAR (CDR X))."
  242. CDAADR
  243. "Args: (x)
  244. Equivalent to (CDR (CAR (CAR (CDR X))))."
  245. CDAAR
  246. "Args: (x)
  247. Equivalent to (CDR (CAR (CAR X)))."
  248. CDADAR
  249. "Args: (x)
  250. Equivalent to (CDR (CAR (CDR (CAR X))))."
  251. CDADDR
  252. "Args: (x)
  253. Equivalent to (CDR (CAR (CDR (CDR X))))."
  254. CDADR
  255. "Args: (x)
  256. Equivalent to (CDR (CAR (CDR X)))."
  257. CDAR
  258. "Args: (x)
  259. Equivalent to (CDR (CAR X))."
  260. CDDAAR
  261. "Args: (x)
  262. Equivalent to (CDR (CDR (CAR (CAR X))))."
  263. CDDADR
  264. "Args: (x)
  265. Equivalent to (CDR (CDR (CAR (CDR X))))."
  266. CDDAR
  267. "Args: (x)
  268. Equivalent to (CDR (CDR (CAR X)))."
  269. CDDDAR
  270. "Args: (x)
  271. Equivalent to (CDR (CDR (CDR (CAR X))))."
  272. CDDDDR
  273. "Args: (x)
  274. Equivalent to (CDR (CDR (CDR (CDR X))))."
  275. CDDDR
  276. "Args: (x)
  277. Equivalent to (CDR (CDR (CDR X)))."
  278. CDDR
  279. "Args: (x)
  280. Equivalent to (CDR (CDR X))."
  281. CDAAAR
  282. "Args: (x)
  283. Equivalent to (CDR (CAR (CAR (CAR X))))."
  284. FIRST
  285. "Args: (x)
  286. Equivalent to (CAR X)."
  287. SECOND
  288. "Args: (x)
  289. Equivalent to (CAR (CDR X))."
  290. THIRD
  291. "Args: (x)
  292. Equivalent to (CADDR X)."
  293. FOURTH
  294. "Args: (x)
  295. Equivalent to (CADDDR X)."
  296.  
  297. REST
  298. "Args: (x)
  299. Equivalent to (CDR X)."
  300.  
  301. CONS
  302. "Args: (x y)
  303. Returns a new cons (list node) whose car and cdr are X and Y, respectively."
  304. LIST
  305. "Args: (&rest args)
  306. Returns a list of its arguments"
  307. APPEND
  308. "Args: (&rest lists)
  309. Constructs a new list by concatenating its arguments."
  310. REVERSE
  311. "Args: (list)
  312. Returns a new list containing the same elements as LIST but in
  313. reverse order."
  314. LAST
  315. "Args: (list)
  316. Returns the last cons in LIST"
  317. NTH
  318. "Args: (n list)
  319. Returns the N-th element of LIST, where the car of LIST is the zero-th
  320. element."
  321. NTHCDR
  322. "Args: (n list)
  323. Returns the result of performing the CDR operation N times on LIST."
  324. MEMBER
  325. "Args: (item list &key (test #'eql) test-not)
  326. Returns the tail of LIST beginning with the first ITEM."
  327. ASSOC
  328. "Args: (item alist &key (test #'eql) test-not)
  329. Returns the first pair in ALIST whose car is equal (in the sense of TEST) to
  330. ITEM."
  331. SUBST
  332. "Args: (new old tree &key (test #'eql) test-not)
  333. Substitutes NEW for subtrees of TREE that match OLD."
  334. SUBLIS
  335. "Args: (alist tree &key (test #'eql) test-not)
  336. Substitutes from ALIST for subtrees of TREE nondestructively."
  337. REMOVE
  338. "Args: (item list &key (test #'eql) test-not)
  339. Returns a copy of LIST with ITEM removed."
  340. LENGTH
  341. "Args: (sequence)
  342. Returns the length of SEQUENCE."
  343. MAPC
  344. "Args: (fun list &rest more-lists)
  345. Applies FUN to successive cars of LISTs.  Returns the first LIST."
  346. MAPCAR
  347. "Args: (fun list &rest more-lists)
  348. Applies FUN to successive cars of LISTs and returns the results as a list."
  349. MAPL
  350. "Args: (fun list &rest more-lists)
  351. Applies FUN to successive cdrs of LISTs.  Returns the first LIST."
  352. MAPLIST
  353. "Args: (fun list &rest more-lists)
  354. Applies FUN to successive cdrs of LISTs and returns the results as a list."
  355.             
  356. ;; destructive list functions
  357. RPLACA
  358. "Args: (x y)
  359. Replaces the car of X with Y, and returns the modified X."
  360. RPLACD
  361. "Args: (x y)
  362. Replaces the cdr of X with Y, and returns the modified X."
  363. NCONC
  364. "Args: (&rest lists)
  365. Concatenates LISTs by destructively modifying them."
  366. DELETE
  367. "Args: (item list &key (test #'eql) test-not)
  368. Returns a list formed by removing the specified ITEM destructively from
  369. LIST."
  370.  
  371. ;; predicate functions
  372. ATOM
  373. "Args: (x)
  374. Returns T if X is not a cons; NIL otherwise."
  375. SYMBOLP
  376. "Args: (x)
  377. Returns T if X is a symbol; NIL otherwise."
  378. NUMBERP
  379. "Args: (x)
  380. Returns T if X is any kind of number; NIL otherwise."
  381. BOUNDP
  382. "Args: (symbol)
  383. Returns T if the global variable named by SYMBOL has a value; NIL otherwise."
  384. NULL
  385. "Args: (x)
  386. Returns T if X is NIL; NIL otherwise."
  387. LISTP
  388. "Args: (x)
  389. Returns T if X is either a cons or NIL; NIL otherwise."
  390. CONSP
  391. "Args: (x)
  392. Returns T if X is a cons; NIL otherwise."
  393. EQ
  394. "Args: (x y)
  395. Returns T if X and Y are the same identical object; NIL otherwise."
  396. EQL
  397. "Args: (x y)
  398. Returns T if X and Y are EQ, or if they are numbers of the same type with
  399. the same value, or if they are identical strings.  Returns NIL otherwise."
  400. EQUAL
  401. "Args: (x y)
  402. Returns T if X and Y are EQL or if they are of the same type and corresponding
  403. components are EQUAL.  Returns NIL otherwise. Arrays must be EQ to be EQUAL."
  404. NOT
  405. "Args: (x)
  406. Returns T if X is NIL; NIL otherwise."
  407.  
  408. ;; special forms
  409. COND
  410. "Syntax: (cond {(test {form}*)}*)
  411. Evaluates each TEST in order until one evaluates to a non-NIL value.  Then
  412. evaluates the associated FORMs in order and returns the value of the last
  413. FORM.  If no forms follow the TEST, then returns the value of the TEST.
  414. Returns NIL, if all TESTs evaluate to NIL."
  415. CASE
  416. "Syntax: (case keyform {({key | ({key}*)} {form}*)}*)
  417. Evaluates KEYFORM and tries to find the KEY that is EQL to the value of
  418. KEYFORM.  If one is found, then evaluates FORMs that follow the KEY and
  419. returns the value of the last FORM.  If not, simply returns NIL."
  420. AND
  421. "Syntax: (and {form}*)
  422. Evaluates FORMs in order from left to right.  If any FORM evaluates to NIL,
  423. returns immediately with the value NIL.  Else, returns the value of the
  424. last FORM."
  425. OR
  426. "Syntax: (or {form}*)
  427. Evaluates FORMs in order from left to right.  If any FORM evaluates to
  428. non-NIL, quits and returns that value.  If the last FORM is reached,
  429. returns whatever value it returns."
  430. LET
  431. "Syntax: (let ({var | (var [value])}*) {form}*)
  432. Initializes VARs, binding them to the values of VALUEs (which defaults to NIL)
  433. all at once, then evaluates FORMs as a PROGN."
  434. LET*
  435. "Syntax: (let* ({var | (var [value])}*) {form}*)
  436. Initializes VARs, binding them to the values of VALUEs (which defaults to NIL)
  437. from left to right, then evaluates FORMs as a PROGN."
  438. IF
  439. "Syntax: (if test then [else])
  440. If TEST evaluates to non-NIL, then evaluates THEN and returns the result.
  441. If not, evaluates ELSE (which defaults to NIL) and returns the result."
  442. PROG
  443. "Syntax: (prog ({var | (var [init])}*) {tag | statement}*)
  444. Binds VARs in parallel, and then executes STATEMENTs."
  445. PROG*
  446. "Syntax: (prog* ({var | (var [init])}*) {tag | statement}*)
  447. Binds VARs sequentially, and then executes STATEMENTs."
  448. PROG1
  449. "Syntax: (prog1 first {form}*)
  450. Evaluates FIRST and FORMs in order, and returns the value of FIRST."
  451. PROG2
  452. "Syntax: (prog2 first second {forms}*)
  453. Evaluates FIRST, SECOND, and FORMs in order, and returns the value
  454. of SECOND."
  455. PROGN
  456. "Syntax: (progn {form}*)
  457. Evaluates FORMs in order, and returns whatever the last FORM returns."
  458. PROGV
  459. "Syntax: (progv symbols values {form}*)
  460. Evaluates FORMs in order, with SYMBOLS dynamically bound to VALUES, and 
  461. returns whatever the last FORM returns."
  462. GO
  463. "Syntax: (go tag)
  464. Jumps to the specified TAG established by a lexically surrounding PROG
  465. construct."
  466. RETURN
  467. "Syntax: (return [result])
  468. Returns from the lexically surrounding PROG construct.  The value of RESULT,
  469. which defaults to NIL, is returned as the value of the PROG construct."
  470. DO
  471. "Syntax: (do ({(var [init [step]])}*) (endtest {result}*) {tag | statement}*)
  472. Creates a NIL block, binds each VAR to the value of the corresponding INIT,
  473. and then executes STATEMENTs repeatedly until ENDTEST is satisfied.  After
  474. each iteration, assigns to each VAR the value of the corresponding STEP.  When
  475. ENDTEST is satisfied, evaluates RESULTs as a PROGN and returns the value of
  476. the last RESULT (or NIL if no RESULTs are supplied).  Performs variable
  477. bindings and assignments all at once, just like LET does."
  478. DO*
  479. "Syntax: (do* ({(var [init [step]])}*) (endtest {result}*) {tag | statement}*)
  480. Just like DO, but performs variable bindings and assignments in serial, just
  481. like LET* and SETQ do."
  482. DOLIST
  483. "Syntax: (dolist (var listform [result]) {tag | statement}*)
  484. Executes STATEMENTs, with VAR bound to each member of the list value of
  485. LISTFORM.  Then returns the value of RESULT (which defaults to NIL)."
  486. DOTIMES
  487. "Syntax: (dotimes (var countform [result]) {tag | statement}*)
  488. Executes STATEMENTs, with VAR bound to each number between 0 (inclusive) and
  489. the value of COUNTFORM (exclusive).  Then returns the value of RESULT
  490. (which defaults to NIL)."
  491. CATCH
  492. "Syntax: (catch tag {form}*)
  493. Sets up a catcher with that value TAG.  Then evaluates FORMs as a PROGN, but
  494. may possibly abort the evaluation by a THROW form that specifies the value
  495. EQ to the catcher tag."
  496. THROW
  497. "Syntax: (throw tag result)
  498. Evaluates TAG and aborts the execution of the most recent CATCH form that sets
  499. up a catcher with the same tag value.  The CATCH form returns whatever RESULT
  500. returned."
  501.     
  502. ;; debugging and error handling functions
  503. ERROR
  504. "Args: (message-string arg)
  505. Signals a fatal error. ARG is printed after the MESSAGE-STRING."
  506. CERROR
  507. "Args: (continue-message-string error-message-string args)
  508. Signals a correctable error. Returns NIL when continued from the break loop."
  509. BREAK
  510. CLEAN-UP
  511. "Args: ()
  512. Cleans up after an error and moves to next lower break loop level."
  513. TOP-LEVEL
  514. "Args: ()
  515. Returns to the top level."
  516. CONTINUE
  517. "Args: ()
  518. Continues after a correctable error"
  519. ERRSET
  520. "Args: (expr [pflag])
  521. Traps errors occurring during the evaluation of EXPR. PFLAG controls printing
  522. of the error message. Returns the value of the last expression consed with
  523. NIL or NIL. "
  524. "Args: (number)
  525. Prints NUMBER levels of trace back information. Returns NIL."
  526. BAKTRACE
  527. "Args: (&optional number)
  528. Prints NUMBER levels of trace back information. Returns NIL."
  529. EVALHOOK
  530. "Args: (form evalhookfn applyhookfn &optional (env nil))
  531. Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound
  532. to APPLYHOOKFN.  Ignores these hooks once, for the top-level evaluation
  533. of FORM.(Note: *APPPLYHOOK* is not yet implemented, and is thus ignored.)"
  534.             
  535. ;; string functions
  536. STRCAT
  537. " Args: ({string}*)
  538. Concatenates the STRINGs and returns the result."
  539. SUBSEQ
  540. "Args: (string start &optional end)
  541. Extracts and returns the substring of STRING starting at START and ending at
  542. END, if supplied, or the end of STRING."
  543. STRING
  544. "
  545. Args: (sym)
  546. Returns print-name of SYM if SYM is a symbol, or SYM if SYM is a."
  547. CHAR
  548. "Args: (string index)
  549. Returns the INDEX-th character in STRING."
  550.  
  551. ;; I/O functions
  552. READ
  553. "Args: (&optional (stream *standard-input*) (eof-error-p t) (eof-value nil) (recursivep nil))
  554. Reads and returns the next object from STREAM."
  555. PRINT
  556. "Args: (object &optional (stream *standard-output*))
  557. Outputs a newline character, and then prints OBJECT in the most readable
  558. representation.  Returns OBJECT."
  559. PRIN1
  560. "Args: (object &optional (stream *standard-output*))
  561. Prints OBJECT in the most readable representation.  Returns OBJECT."
  562. PRINC
  563. "Args: (object &optional (stream *standard-output*))
  564. Prints OBJECT without escape characters.  Returns OBJECT."
  565. TERPRI
  566. "Args: (&optional (stream *standard-output*))
  567. Outputs a newline character."
  568. FLATSIZE
  569. "Args: (object)
  570. Returns length of printed representation of OBJECT using PRIN1"
  571. FLATC
  572. "Args: (object)
  573. Returns length of printed representation of OBJECT using PRINC"
  574.             
  575. ;; file I/O functions
  576. OPEN
  577. "Args: (fname &key (direction :input))
  578. Opens file named by string or symbol FNAME. DIRECTION is :INPUT or :OUTPUT."
  579. CLOSE
  580. "Args: (stream)
  581. Close file stream STREAM."
  582. READ-CHAR
  583. "Args: (&optional (stream *standard-input*) (eof-value nil) (recursive-p nil))
  584. Reads a character from STREAM."
  585. PEEK-CHAR
  586. "Args: (&optional (peek-type nil) (stream *standard-input*) (eof-value nil) (recursive-p nil))
  587. Peeks at the next character in the input stream STREAM."
  588. WRITE-CHAR
  589. "Args: (char &optional (stream *standard-output*))
  590. Outputs CHAR and returns it."
  591. READ-LINE
  592. "Args: (&optional (stream *standard-input*) (eof-value nil) (recursive-p nil))
  593. Returns line of text read from STREAM as a string without the newline character."
  594.  
  595. ;; system functions
  596. LOAD
  597. "Args: (filename &key (verbose t) (print nil))
  598. Loads the file named by FILENAME into XLISP. Returns T if load succeeds,
  599. NIL if file does not exist."
  600. DRIBBLE
  601. "Args: (&optional file)
  602. If string or symbol FILE is supplied creates a transcript file with this name.
  603. If FILE is missing closes the transcript file."
  604. SYSTEM
  605. "Args: (string)
  606. Runs the operating system command specified by string. Not available on
  607. all implementations."
  608. DYN-LOAD
  609. "Args: (file &key verbose libflags fortran)
  610. Links the object file FILE with standard C libraries and loads into
  611. the running XLISP-STAT process. If FORTRAN is not NIL also searches
  612. standard FORTRAN libraries. LIBFLAGS can be a string used to specify
  613. additional libraries, for example "-lcmlib". Not available on all
  614. implementations."
  615. CALL-CFUN
  616. "Args: (cfun &rest args)
  617. CFUN is a string naming a C function. The remaining arguments must be
  618. integers, sequences of integers, reals or sequences of reals.  CFUN is
  619. called with the remaining arguments and a list of the lists of the
  620. values of the arguments after the call is returned. Arguments in the
  621. call will be pointers to ints or pointers to doubles.  Not available
  622. on all implementations."
  623. CALL-FSUB
  624. "Args: (fsub &rest args)
  625. FSUB is a string naming a FORTRAN subroutine. The remaining arguments
  626. must be integers, sequences of integers, reals or sequences of reals.
  627. FSUB is called with the remaining arguments and a list of the lists of
  628. the values of the arguments after the call is returned. Arguments in
  629. the call will be (arrays of) integers or double precision numbers. Not
  630. available on all implementations."
  631. CALL-LFUN
  632. "Args: (lfun &rest args)
  633. LFUN is a C function written to conform to internal XLISP argument
  634. reading and value returning conventions. Applies LFUN to ARGS and
  635. returns the result."
  636.  
  637. GC
  638. "Args: ()
  639. Forces garbage collection. Returns nil."
  640. EXPAND
  641. "Args: (number)
  642. Expand memory by adding NUMBER segments. Returns the number of segments."
  643. ALLOC
  644. "Args: (number)
  645. Changes number of nodes to allocate in each segment to NUMBER. Returns
  646. old number of nodes to allocate."
  647. ROOM
  648. "Args: ()
  649. Shows memory allocation statistics. Returns nil."
  650. SAVE
  651. "Args: (file)
  652. Saves current memory image in FILE.wks. Does not work right with allocated objects."
  653. RESTORE
  654. "Args: (file)
  655. Restores memory image from FILE.wks. Does not work right with allocated objects."
  656.  
  657. TYPE-OF
  658. "Args: (x)
  659. Returns the type of X."
  660. EXIT
  661. "Args: ()
  662. Exits from XLISP."
  663. PEEK
  664. "Args (address)
  665. Peek at an ADDRESS in memory."
  666. POKE
  667. "Args: (address value)
  668. Poke VALUE into ADDRESS in memory."
  669. ADDRESS-OF
  670. "Args (x)
  671. Get the address of an XLISP node."
  672. X11-OPTIONS
  673. "Args: (&key (fast-lines t) (fast-symbols t) (motion-sync t)
  674. Sets performance options for X11 window system."
  675.  
  676. ;; new functions and special forms
  677. VECTOR
  678. "Args: (&rest items)
  679. Returns a vector with ITEMS as elements."
  680. BLOCK
  681. "Syntax: (block name {form}*)
  682. The FORMs are evaluated in order, but it is possible to exit the block
  683. using (RETURN-FROM name value).  The RETURN-FROM must be lexically contained
  684. within the block."
  685. RETURN-FROM
  686. "Syntax: (return-from name [result])
  687. Returns from the lexically surrounding block whose name is NAME.  The value
  688. of RESULT, which defaults to NIL, is returned as the value of the block."
  689. TAGBODY
  690. "Syntax: (tagbody {tag | statement}*)
  691. Executes STATEMENTs and returns NIL if it falls off the end."
  692. PSETQ
  693. "Syntax: (psetq {var form}*)
  694. Similar to SETQ, but evaluates all FORMs first, and then assigns each value to
  695. the corresponding VAR.  Returns NIL always."
  696. FLET
  697. "Syntax: (flet ({(name lambda-list {decl | doc}* {form}*)}*) . body)
  698. Evaluates BODY as a PROGN, with local function definitions in effect.  BODY is
  699. the scope of each local function definition.  Since the scope does not include
  700. the function definitions themselves, the local function can reference
  701. externally defined functions of the same name.  See the doc of DEFUN for the
  702. complete syntax of a lambda-list.  Doc-strings for local functions are simply
  703. ignored."
  704. LABELS
  705. "Syntax: (labels ({(name lambda-list {decl | doc}* {form}*)}*) . body)
  706. Evaluates BODY as a PROGN, with the local function definitions in effect.
  707. The scope of the locally defined functions include the function definitions
  708. themselves, so they can reference externally defined functions of the same
  709. name.  See the doc of DEFUN for the complete syntax of a lambda-list.
  710. Doc-strings for local functions are simply ignored."
  711. MACROLET
  712. "Syntax: (macrolet ({(name defmacro-lambda-list {decl | doc}* . body)}*)
  713.           {form}*)
  714. Evaluates FORMs as a PROGN, with the local macro definitions in effect.
  715. See the doc of DEFMACRO for the complete syntax of a defmacro-lambda-list.
  716. Doc-strings for local macros are simply ignored."
  717. UNWIND-PROTECT
  718. "Syntax: (unwind-protect protected-form {cleanup-form}*)
  719. Evaluates PROTECTED-FORM and returns whatever it returned.  Guarantees that
  720. CLEANUP-FORMs be always evaluated before exiting from the UNWIND-PROTECT
  721. form."
  722. PPRINT
  723. "Args: (object &optional (stream *standard-output*))
  724. Pretty-prints OBJECT.  Returns OBJECT."
  725. STRING<
  726. "Args: (string1 string2
  727.        &key (start1 0) (end1 (length string1))
  728.             (start2 0) (end2 (length string2)))
  729. If STRING1 is lexicographically less than STRING2, then returns the longest
  730. common prefix of the strings.  Otherwise, returns NIL."
  731. STRING<=
  732. "Args: (string1 string2
  733.        &key (start1 0) (end1 (length string1))
  734.             (start2 0) (end2 (length string2)))
  735. If STRING1 is lexicographically less than or equal to STRING2, then returns
  736. the longest common prefix of the two strings.  Otherwise, returns NIL."
  737. STRING=
  738. "Args: (string1 string2
  739.        &key (start1 0) (end1 (length string1))
  740.             (start2 0) (end2 (length string2)))
  741. Returns T if the two strings are character-wise CHAR=; NIL otherwise."
  742. STRING/=
  743. "Args: (string1 string2
  744.        &key (start1 0) (end1 (length string1))
  745.             (start2 0) (end2 (length string2)))
  746. Returns NIL if STRING1 and STRING2 are character-wise CHAR=.  Otherwise,
  747. returns the index to the longest common prefix of the strings."
  748. STRING>=
  749. "Args: (string1 string2
  750.        &key (start1 0) (end1 (length string1))
  751.             (start2 0) (end2 (length string2)))
  752. If STRING1 is lexicographically greater than or equal to STRING2, then returns
  753. the longest common prefix of the strings.  Otherwise, returns NIL."
  754. STRING>
  755. "Args: (string1 string2
  756.        &key (start1 0) (end1 (length string1))
  757.             (start2 0) (end2 (length string2)))
  758. If STRING1 is lexicographically greater than STRING2, then returns the
  759. longest common prefix of the strings.  Otherwise, returns NIL."
  760. STRING-LESSP
  761. "Args: (string1 string2
  762.        &key (start1 0) (end1 (length string1))
  763.             (start2 0) (end2 (length string2)))
  764. Similar to STRING<, but ignores cases."
  765. STRING-NOT-GREATERP
  766. "Args: (string1 string2
  767.        &key (start1 0) (end1 (length string1))
  768.             (start2 0) (end2 (length string2)))
  769. Similar to STRING<=, but ignores cases."
  770. STRING-EQUAL
  771. "Args: (string1 string2
  772.        &key (start1 0) (end1 (length string1))
  773.             (start2 0) (end2 (length string2)))
  774. Given two strings (string1 and string2), and optional integers start1,
  775. start2, end1 and end2, compares characters in string1 to characters in
  776. string2 (using char-equal)."
  777. STRING-NOT-EQUAL
  778. "Args: (string1 string2
  779.        &key (start1 0) (end1 (length string1))
  780.             (start2 0) (end2 (length string2)))
  781. Similar to STRING=, but ignores cases."
  782. STRING-NOT-LESSP
  783. "Args: (string1 string2
  784.        &key (start1 0) (end1 (length string1))
  785.             (start2 0) (end2 (length string2)))
  786. Similar to STRING>=, but ignores cases."
  787. STRING-GREATERP
  788. "Args: (string1 string2
  789.        &key (start1 0) (end1 (length string1))
  790.             (start2 0) (end2 (length string2)))
  791. Similar to STRING>, but ignores cases."
  792. INTEGERP
  793. "Args: (x)
  794. Returns T if X is an integer (fixnum or bignum); NIL otherwise."
  795. FLOATP
  796. "Args: (x)
  797. Returns T if X is a floating-point number; NIL otherwise."
  798. STRINGP
  799. "Args: (x)
  800. Returns T if X is a string; NIL otherwise."
  801. ARRAYP
  802. "Args: (x)
  803. Returns T if X is an array; NIL otherwise."
  804. STREAMP
  805. "Args: (x)
  806. Returns T if X is a stream object; NIL otherwise."
  807. OBJECTP
  808. "Args: (x)
  809. Returns T if X is an object, NIL otherwise."
  810. STRING-UPCASE
  811. "Args: (string &key (start 0) (end (length string)))
  812. Returns a copy of STRING with all lower case characters converted to
  813. uppercase."
  814. STRING-DOWNCASE
  815. "Args: (string &key (start 0) (end (length string)))
  816. Returns a copy of STRING with all upper case characters converted to
  817. lowercase."
  818. NSTRING-UPCASE
  819. "Args: (string &key (start 0) (end (length string)))
  820. Returns STRING with all lower case characters converted to uppercase."
  821. NSTRING-DOWNCASE
  822. "Args: (string &key (start 0) (end (length string)))
  823. Returns STRING with all upper case characters converted to lowercase."
  824. STRING-TRIM
  825. "Args: (char-bag string)
  826. Returns a copy of STRING with the characters in CHAR-BAG removed from both
  827. ends."
  828. STRING-LEFT-TRIM
  829. "Args: (char-bag string)
  830. Returns a copy of STRING with the characters in CHAR-BAG removed from the
  831. left end."
  832. STRING-RIGHT-TRIM
  833. "Args: (char-bag string)
  834. Returns a copy of STRING with the characters in CHAR-BAG removed from the
  835. right end."
  836. WHEN
  837. "Syntax: (when test {form}*)
  838. If TEST evaluates to non-NIL evaluates FORMs as a PROGN.  If not, returns NIL."
  839. UNLESS
  840. "Syntax: (unless test {form}*)
  841. If TEST evaluates to NIL evaluates FORMs as a PROGN.  If not, returns NIL."
  842. LOOP
  843. "Syntax: (loop {form}*)
  844. Executes FORMs repeatedly until exited by a THROW or RETURN.  The FORMs are
  845. surrounded by an implicit NIL block."
  846. FBOUNDP
  847. "Args: (symbol)
  848. Returns T if SYMBOL has a global function definition or if SYMBOL names a
  849. special form or a macro; NIL otherwise."
  850. PROGV
  851. "Syntax: (progv symbols values {form}*)
  852. SYMBOLS must evaluate to a list of symbols. VALUES must evaluate to a list
  853. of initial values. Evaluates FORMs as a PROGN, with each variable bound
  854. dynamically to the corresponding value."
  855. CHARACTERP
  856. "Args: (x)
  857. Returns T if X is a character; NIL otherwise."
  858. CHAR-INT
  859. "Args: (char)
  860. Returns the ASCII code of CHAR. Equivalent to CHAR-CODE in XLISP."
  861. INT-CHAR
  862. "Args: (integer)
  863. Performs the inverse of CHAR-INT. Equivalent to CODE-CHAR in XLISP."
  864. READ-BYTE
  865. "Args: (&optional stream)
  866. Reads the next byte from STREAM."
  867. WRITE-BYTE
  868. "Args: (integer &optional stream)
  869. Outputs INTEGER to the binary stream STREAM.  Returns INTEGER."
  870. MAKE-STRING-INPUT-STREAM
  871. "Args: (string &optional (start 0) (end (length string)))
  872. Returns an input stream which will supply the characters of String between
  873. Start and End in order."
  874. MAKE-STRING-OUTPUT-STREAM
  875. "Args: ()
  876. Returns an output stream which will accumulate all output given it for
  877. the benefit of the function GET-OUTPUT-STREAM-STRING."
  878. GET-OUTPUT-STREAM-STRING
  879. "Args: (stream)
  880. Returns a string of all the characters sent to STREAM made by
  881. MAKE-STRING-OUTPUT-STREAM since the last call to this function."
  882. GET-OUTPUT-STREAM-LIST
  883. "Args: (stream)
  884. Returns list of elements in stream."
  885. GCD
  886. "Args: (&rest integers)
  887. Returns the greatest common divisor of INTEGERs."
  888. GET-LAMBDA-EXPRESSION
  889. "Args (closure)
  890. Extracts lambda expression from CLOSURE."
  891. MACROEXPAND
  892. "Args: (form)
  893. If FORM is a macro form expands it repeatedly until it is not a macro."
  894. MACROEXPAND-1
  895. "Args: (form)
  896. If FORM is a macro form, then expands it once."
  897. CHAR<
  898. "Args: (char &rest more-chars)
  899. Returns T if the codes of CHARs are in strictly increasing order; NIL
  900. otherwise."
  901. CHAR<=
  902. "Args: (char &rest more-chars)
  903. Returns T if the codes of CHARs are in strictly non-decreasing order; NIL
  904. otherwise."
  905. CHAR=
  906. "Args: (char &rest more-chars)
  907. Returns T if all CHARs are the same character; NIL otherwise."
  908. CHAR/=
  909. "Args: (char &rest more-chars)
  910. Returns T if no two of CHARs are the same character; NIL otherwise."
  911. CHAR>=
  912. "Args: (char &rest more-chars)
  913. Returns T if the codes of CHARs are in strictly non-increasing order; NIL
  914. otherwise."
  915. CHAR>
  916. "Args: (char &rest more-chars)
  917. Returns T if the codes of CHARs are in strictly decreasing order; NIL
  918. otherwise."
  919. CHAR-LESSP
  920. "Args: (char &rest more-chars)
  921. Returns T if the codes of CHARs are in strictly increasing order; NIL
  922. otherwise.  For a lower-case character, the code of its upper-case equivalent
  923. is used."
  924. CHAR-NOT-GREATERP
  925. "Args: (char &rest more-chars)
  926. Returns T if the codes of CHARs are in strictly non-decreasing order; NIL
  927. otherwise.  For a lower-case character, the code of its upper-case equivalent
  928. is used."
  929. CHAR-EQUAL
  930. "Args: (char &rest more-chars)
  931. Returns T if all of its arguments are the same character; NIL otherwise.
  932. Upper case character and its lower case equivalent are regarded the same."
  933. CHAR-NOT-EQUAL
  934. "Args: (char &rest more-chars)
  935. Returns T if no two of CHARs are the same character; NIL otherwise.
  936. Upper case character and its lower case equivalent are regarded the same."
  937. CHAR-NOT-LESSP
  938. "Args: (char &rest more-chars)
  939. Returns T if the codes of CHARs are in strictly non-increasing order; NIL
  940. otherwise.  For a lower-case character, the code of its upper-case equivalent
  941. is used."
  942. CHAR-GREATERP
  943. "Args: (char &rest more-chars)
  944. Returns T if the codes of CHARs are in strictly decreasing order; NIL
  945. otherwise.  For a lower-case character, the code of its upper-case equivalent
  946. is used."
  947. UPPER-CASE-P
  948. "Args: (char)
  949. Returns T if CHAR is an upper-case character; NIL otherwise."
  950. LOWER-CASE-P
  951. "Args: (char)
  952. Returns T if CHAR is a lower-case character; NIL otherwise."
  953. BOTH-CASE-P
  954. "Args: (char)
  955. Returns T if CHAR is an alphabetic character; NIL otherwise."
  956. DIGIT-CHAR-P
  957. "Args: (char &optional (radix 10))
  958. If CHAR represents a digit returns the weight as an integer.
  959. Otherwise, returns nil."
  960. ALPHANUMERICP
  961. "Args: (char)
  962. Returns T if CHAR is either numeric or alphabetic; NIL otherwise."
  963. CHAR-UPCASE
  964. "Args: (char)
  965. Returns the upper-case equivalent of CHAR, if any, or CHAR."
  966. CHAR-DOWNCASE
  967. "Args: (char)
  968. Returns the lower-case equivalent of CHAR, if any, or CHAR."
  969. DIGIT-CHAR
  970. "Args: (digit)
  971. Returns a character object that represents the DIGIT, or NIL."
  972. CHAR-CODE
  973. "Args: (char)
  974. Returns ASCII code of CHAR."
  975. CODE-CHAR
  976. "Args: (code)
  977. Returns character object with the specified ASCII code, or NIL."
  978. ENDP
  979. "Args: (x)
  980. Returns T if X is NIL.  Returns NIL if X is a cons.  Otherwise, signals an
  981. error."
  982. REMOVE-IF
  983. "Args: (test list)
  984. Returns a copy of LIST with elements satisfying TEST removed."
  985. REMOVE-IF-NOT
  986. "Args: (test list)
  987. Returns a copy of LIST with elements not satisfying TEST removed."
  988. DELETE-IF
  989. "Args: (test list)
  990. Returns result of destructively removing the elements satisfying TEST from LIST."
  991. DELETE-IF-NOT
  992. "Args: (test list)
  993. Returns result of destructively removing the elements not satisfying TEST from LIST."
  994. TRACE
  995. "Syntax: (trace {function-name}*)
  996. Traces the specified functions.  With no FUNCTION-NAMEs, returns a list of
  997. functions currently being traced."
  998. UNTRACE
  999. "Syntax: (untrace {function-name}*)
  1000. Removes tracing from the specified functions.  With no FUNCTION-NAMEs,
  1001. untraces all functions."
  1002. SORT
  1003. "Args: (list predicate)
  1004. Destructively sorts LIST.  PREDICATE should return non-NIL if its first
  1005. argument is to precede its second argument."
  1006.  
  1007. ;; *OBJECT*
  1008. (*OBJECT* OBJECT PROTO) "The root object."
  1009. (*OBJECT*  OBJECT :GET-METHOD)
  1010. "Method args: (selector)
  1011. Returns method for SELECTOR symbol from object's precedence list."
  1012. (*OBJECT*  OBJECT :HAS-SLOT)
  1013. "Method args: (slot &optional own)
  1014. Returns T if slot SLOT exists, NIL if not. If OWN is not NIL
  1015. only checks the object; otherwise check the entire precedence list."
  1016. (*OBJECT*  OBJECT :HAS-METHOD)
  1017. "Method args: (selector &optional own)
  1018. Returns T if method for SELECTOR exists, NIL if not. If OWN is not NIL
  1019. only checks the object; otherwise check the entire precedence list."
  1020. (*OBJECT*  OBJECT :ADD-SLOT)
  1021. "Method args: (slot &optional value)
  1022. Installs slot SLOT in object, if it does not already exist, and
  1023. sets its value to VLAUE."
  1024. (*OBJECT*  OBJECT :ADD-METHOD)
  1025. "Method args: (selector method)
  1026. Installs METHOD for SELECTOR in object."
  1027. (*OBJECT*  OBJECT :DELETE-SLOT)
  1028. "Method args: (slot)
  1029. Deletes slot SLOT from object if it exists."
  1030. (*OBJECT*  OBJECT :DELETE-METHOD)
  1031. "Method args: (selector)
  1032. Deletes method for SELECTOR in object if it exists."
  1033. (*OBJECT*  OBJECT :SHOW)
  1034. "Method Args: ()
  1035. Prints object's internal data."
  1036. (*OBJECT*  OBJECT :ISNEW)
  1037. "Method args: (&rest args)
  1038. Checks ARGS for keyword arguments matching slots and uses them to
  1039. initialize slots."
  1040. (*OBJECT*  OBJECT :PARENTS)
  1041. "Method args: ()
  1042. Returns copy of parents list."
  1043. (*OBJECT*  OBJECT :PRECEDENCE-LIST)
  1044. "Method args: ()
  1045. Returns copy of the precedence list."
  1046. (*OBJECT*  OBJECT :OWN-SLOTS)
  1047. "Method args: ()
  1048. Returns list of names of slots owned by object."
  1049. (*OBJECT*  OBJECT :OWN-METHODS)
  1050. "Method args ()
  1051. Returns copy of selectors for methods owned by object."
  1052. (*OBJECT*  OBJECT :INTERNAL-DOC)
  1053. "Method args (topic &optional value)
  1054. Retrieves or installs documentation for topic."
  1055. (*OBJECT* OBJECT :REPARENT)
  1056. "Method args: (&rest parents)
  1057. Changes precedence list to correspond to PARENTS. Does not change descendants."
  1058.  
  1059. ;; compound data objects
  1060. (COMPOUND-DATA-PROTO OBJECT :SELECT-DATA)
  1061. "Sets or retrieves subset of data. Arguments depend on the object."
  1062. (COMPOUND-DATA-PROTO OBJECT :MAKE-DATA)
  1063. "Methos args: (data)
  1064. Make object like self with new data."
  1065. (COMPOUND-DATA-PROTO OBJECT :DATA-SEQ)
  1066. "Methos args: ()
  1067. Return sequence of object's data."
  1068. (COMPOUND-DATA-PROTO OBJECT :DATA-LENGTH)
  1069. "Methos args: ()
  1070. Return length of object's data."
  1071.  
  1072. ;; WINDOW-PROTO
  1073. (WINDOW-PROTO  OBJECT PROTO)
  1074. "Instance variables: (title location size go-away)
  1075. Basic window prototype. Instance variables used at allocation; can set with
  1076. keywords to :ISNEW."
  1077. (WINDOW-PROTO  OBJECT :SHOW-WINDOW)
  1078. "Method args: ()
  1079. Makes window visible and moves it to the front. Returns NIL."
  1080. (WINDOW-PROTO  OBJECT :HIDE-WINDOW)
  1081. "Method args: ()
  1082. Hides the window without deallocating it. Returns NIL."
  1083. (WINDOW-PROTO  OBJECT :CLOSE)
  1084. "Method args: ()
  1085. Closes the window without deallocating it. Returns NIL."
  1086. (WINDOW-PROTO  OBJECT :TITLE)
  1087. "Method args: (&optional title)
  1088. Sets window title to TITLE if supplied. Returns current title."
  1089. (WINDOW-PROTO  OBJECT :LOCATION)
  1090. "Method args: (&optional left top)
  1091. Moves window content to (LEFT TOP) if supplied. Returns list of 
  1092. current left, top. Adjusts for the menu bar."
  1093. (WINDOW-PROTO  OBJECT :SIZE)
  1094. "Method args: (&optional width height)
  1095. Sets window content width and size to WIDTH and SIZE if supplied.
  1096. Returns list of current WIDTH HEIGHT. Adjusts for the menu bar."
  1097. (WINDOW-PROTO  OBJECT :FRAME-LOCATION)
  1098. "Method args: (&optional left top)
  1099. Moves window frame to (LEFT TOP) if supplied. Returns list of 
  1100. current left, top. Adjusts for the menu bar."
  1101. (WINDOW-PROTO  OBJECT :FRAME-SIZE)
  1102. "Method args: (&optional width height)
  1103. Sets window frame width and size to WIDTH and SIZE if supplied. 
  1104. Returns list of current WIDTH and HEIGHT. Adjusts for the menu bar."
  1105. (WINDOW-PROTO  OBJECT :UNDO)
  1106. "Method args: ()
  1107. Does nothing."
  1108. (WINDOW-PROTO  OBJECT :CUT-TO-CLIP)
  1109. "Method args: ()
  1110. Does nothing."
  1111. (WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
  1112. "Method args: ()
  1113. Does nothing."
  1114. (WINDOW-PROTO  OBJECT :PASTE-FROM-CLIP)
  1115. "Method args: ()
  1116. Does nothing."
  1117. (WINDOW-PROTO  OBJECT :CLEAR)
  1118. "Method args: ()
  1119. Does nothing."
  1120. (WINDOW-PROTO  OBJECT :PASTE-STREAM)
  1121. "Method args: ()
  1122. Does nothing."
  1123. (WINDOW-PROTO  OBJECT :PASTE-STRING)
  1124. "Method args: ()
  1125. Does nothing."
  1126. (WINDOW-PROTO  OBJECT :SELECTION-STREAM)
  1127. "Method args: ()
  1128. Does nothing."
  1129. (WINDOW-PROTO  OBJECT :ACTIVATE)
  1130. "Method args: ()
  1131. Does nothing."
  1132. (WINDOW-PROTO  OBJECT :UPDATE)
  1133. "Method args: ()
  1134. Does nothing."
  1135. (WINDOW-PROTO  OBJECT :FIND)
  1136. "Method args: ()
  1137. Does nothing."
  1138.  
  1139. ;; EDIT-WINDOW-PROTO
  1140. (EDIT-WINDOW-PROTO  OBJECT PROTO)
  1141. "Instance variables: (input-enabled output-stream bind-to-file)
  1142. Edit window prototype. Instance variables used at allocation; can set with
  1143. :SINEW keywords. Inherits from WINDOW-PROTO"
  1144. (EDIT-WINDOW-PROTO  OBJECT :ISNEW)
  1145. "Method args: (&key title location size go-away input-enabled
  1146.                     output-stream bind-to-file)
  1147. Initializes instance variables and sends itself the :ALLOCATE message.
  1148. Instance variables are used on allocation. GO-AWAY says whether window has a
  1149. close box, OUTPUT-STREAM can be used to write to the window, and BIND-TO-FILE
  1150. will cause a get-file-dialog to appear when the window is allocated."
  1151. (EDIT-WINDOW-PROTO  OBJECT :ALLOCATE)
  1152. "Method args: ()
  1153. Allocates and opens the window. Obtains file with get-file-dialog if slot
  1154. BIND-TO-FILE is true."
  1155. (EDIT-WINDOW-PROTO  OBJECT :CUT-TO-CLIP)
  1156. "Method args: ()
  1157. Cut selection to clip board."
  1158. (EDIT-WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
  1159. "Method args: ()
  1160. Copy selection to clip board."
  1161. (EDIT-WINDOW-PROTO  OBJECT :PASTE-FROM-CLIP)
  1162. "Method args: ()
  1163. Paste selection to clip board."
  1164. (EDIT-WINDOW-PROTO  OBJECT :REVERT)
  1165. "Method args: ()
  1166. Reverts to file on disk; opens dialog to check first."
  1167. (EDIT-WINDOW-PROTO  OBJECT :SAVE)
  1168. "Method args: ()
  1169. Save file. Use save-file dialog to get a name if not bound to file."
  1170. (EDIT-WINDOW-PROTO  OBJECT :SAVE-AS)
  1171. "Method args: ()
  1172. Save file under name obtained by save-file-dialog and bind window to the file."
  1173. (EDIT-WINDOW-PROTO  OBJECT :SAVE-COPY)
  1174. "Method args: ()
  1175. Save copy of file under name obtained by save-file-dialog; don't change file binding."
  1176. (EDIT-WINDOW-PROTO  OBJECT :PASTE-STREAM)
  1177. "Method args: (string)
  1178. Inserts the characters in STRING at the current insertion point, replacing any
  1179. current selection."
  1180. (EDIT-WINDOW-PROTO  OBJECT :PASTE-STRING)
  1181. "Method args: (stream)
  1182. Inserts the characters in STREAM at the current insertion point, replacing any
  1183. current selection."
  1184. (EDIT-WINDOW-PROTO  OBJECT :FLUSH-WINDOW)
  1185. "Method args: (&optional count)
  1186. Flushes the first COUNT characters from the window. Flushes all characters if
  1187. COUNT is not supplied."
  1188. (EDIT-WINDOW-PROTO  OBJECT :SELECTION-STREAM)
  1189. "Method args: ()
  1190. Returns a stream containing the characters of the current selection."
  1191. (EDIT-WINDOW-PROTO  OBJECT :CLOSE)
  1192. "Method args: ()
  1193. Closes and deallocates the window. Asks about saving the file if necessary."
  1194. (EDIT-WINDOW-PROTO  OBJECT :REMOVE)
  1195. "Method args: ()
  1196. Closes and deallocates the window. Asks about saving the file if necessary."
  1197. (EDIT-WINDOW-PROTO  OBJECT :DISPOSE)
  1198. "Method args: ()
  1199. Closes and deallocates the window. Asks about saving the file if necessary."
  1200. (EDIT-WINDOW-PROTO  OBJECT :ACTIVATE)
  1201. "Method args: ()
  1202. Does nothing."
  1203. (EDIT-WINDOW-PROTO  OBJECT :UPDATE)
  1204. "Method args: ()
  1205. Does nothing."
  1206. (EDIT-WINDOW-PROTO  OBJECT :FIND-STRING)
  1207. "Method args: (string)
  1208. Finds and selects STRING if it is in the file. Returns T if found, NIL if not.
  1209. Search is case insensitive."
  1210.  
  1211. ;; LISTENER-PROTO
  1212. (LISTENER-PROTO  OBJECT :ISNEW)
  1213. "Method args: ()
  1214. Initializes new listener object."
  1215. (LISTENER-PROTO  OBJECT :ALLOCATE)
  1216. "Method args: ()
  1217. Connects object to internal listener window."
  1218.  
  1219. ;; MENU-PROTO
  1220. (MENU-PROTO  OBJECT PROTO)
  1221. "Instance variables: (title items enabled id)
  1222. Basic menu prototype. Instance variables used internally."
  1223. (MENU-PROTO  OBJECT :ISNEW)
  1224. "Method args: (title)
  1225. Sets menu title to TITLE and sends it the itself :ALLOCATE message."
  1226. (MENU-PROTO  OBJECT :ALLOCATE)
  1227. "Method args: ()
  1228. Allocates an internal menu for the object."
  1229. (MENU-PROTO  OBJECT :DISPOSE)
  1230. "Method args: ()
  1231. Disposes of the internal menu."
  1232. (MENU-PROTO  OBJECT :INSTALL)
  1233. "Method args ()
  1234. Installs the menu in the menu bar (Macintosh only)."
  1235. (MENU-PROTO  OBJECT :REMOVE)
  1236. "Method args: ()
  1237. Removes the menu from the menu bar (Macintosh only)."
  1238. (MENU-PROTO  OBJECT :ENABLED)
  1239. "Method args: (&optional enabled)
  1240. If ENABLED is supplied enables or disables the menu if ENABLED is true or
  1241. NIL. Returns T if menu is enabled, NIL otherwise."
  1242. (MENU-PROTO  OBJECT :UPDATE)
  1243. "Method args: ()
  1244. Sends each menu item the :UPTADE message."
  1245. (MENU-PROTO  OBJECT :ALLOCATED-P)
  1246. "Method args: ()
  1247. Returns true if menu is allocated, NIL otherwise."
  1248. (MENU-PROTO  OBJECT :TITLE) 
  1249. "Method args: (&optional TITLE)
  1250. If TITLE is supplied sets menu title to TITLE. Returns menu title."
  1251. (MENU-PROTO  OBJECT :ITEMS)
  1252. "Method args: ()
  1253. Returns list of menu items."
  1254. (MENU-PROTO  OBJECT :INSTALLED-P)
  1255. "Method args: ()
  1256. Returns true if menu is in the menu bar, NIL otherwise."
  1257. (MENU-PROTO  OBJECT :APPEND-ITEMS)
  1258. "Method args: (&rest items)
  1259. adds ITEMS to the menu and Returns NIL."
  1260. (MENU-PROTO  OBJECT :DELETE-ITEMS)
  1261. "Method args: (&rest items)
  1262. Removes ITEMS from menu and returns NIL. Signals an error if an
  1263. item is not in the menu"
  1264. (MENU-PROTO  OBJECT :SELECT)
  1265. "Method args: (index)
  1266. Sends item (elt items (- INDEX 1)) the :DO-ACTION message."
  1267. (MENU-PROTO  OBJECT :POPUP)
  1268. "Method args: (x y)
  1269. Waits for a mouse click if mouse is not already down at call time, then
  1270. pops up menu at screen coordinates (X Y)."
  1271.  
  1272. ;; APPLE-MENU-PROTO
  1273. (APPLE-MENU-PROTO  OBJECT :ISNEW)
  1274. "Method args: (title)
  1275. Sets menu title to TITLE and sends it the itself :ALLOCATE message."
  1276. (APPLE-MENU-PROTO  OBJECT :SELECT)
  1277. "Method args: (index)
  1278. Sends item (elt items (- INDEX 1)) the :DO-ACTION message or opens the
  1279. desk accessory."
  1280.  
  1281. ;; MENU-ITEM-PROTO
  1282. (MENU-ITEM-PROTO  OBJECT PROTO)
  1283. "Instance variables: (title key mark style action enabled menu)
  1284. Menu item. Instance variables used on installation; can set using
  1285. keywords to :ISNEW."
  1286. (MENU-ITEM-PROTO  OBJECT :ISNEW)
  1287. "Method args: (title &key key mark style action (enabled t))
  1288. Initializes a new menu item object."
  1289. (MENU-ITEM-PROTO  OBJECT :TITLE)
  1290. "Method args: (&optional title)
  1291. Sets item title to TITLE if supplied and returns title."
  1292. (MENU-ITEM-PROTO  OBJECT :KEY)
  1293. "Method args: (&optional char)
  1294. Sets item keyboard equivalent to CHAR, if supplied, and returns current key
  1295. (Macintosh only)."
  1296. (MENU-ITEM-PROTO  OBJECT :MARK)
  1297. "Method args: (&optional MARK)
  1298. Sets item mark to MARK if MARK is a character, to a check if MARK is T
  1299. and to no mark if MARK is NIL. Returns current mark (Macintosh only)."
  1300. (MENU-ITEM-PROTO  OBJECT :STYLE)
  1301. "Method args: (&optional style)
  1302. Sets and returns item style. STYLE can be a symbol or list of symbols from
  1303. BOLD, ITALIC, UNDERLINE, SHADOW, CONDENSE, EXTEND (Macintosh only)."
  1304. (MENU-ITEM-PROTO  OBJECT :ACTION)
  1305. "Method args: (&optional FCN)
  1306. Sets ACTION slot to FCN if supplied; returns current ACTION value."
  1307. (MENU-ITEM-PROTO  OBJECT :ENABLED)
  1308. "Method args: (&optional enable)
  1309. Enables or disables item if ENABLED is supplied; returns T if enabled,
  1310. NIL if not."
  1311. (MENU-ITEM-PROTO  OBJECT :INSTALLED-P)
  1312. "Method args: ()
  1313. Returns T if item is installed in a menu, NIL if not."
  1314. (MENU-ITEM-PROTO  OBJECT :UPDATE)
  1315. "Method args: ()
  1316. Does nothing."
  1317. (MENU-ITEM-PROTO  OBJECT :DO-ACTION)
  1318. "Method args: ()
  1319. Funcalls the value of the ACTION slot."
  1320.  
  1321. ;; DIALOG-PROTO
  1322. (DIALOG-PROTO  OBJECT PROTO)
  1323. "Dialog window prototype."
  1324. (DIALOG-PROTO  OBJECT :ISNEW) 
  1325. "Method args: (items &key title location size go-away type default-button)
  1326. Initializes and allocates a dialog. ITEMS is a list of dialog items; type
  1327. should be MODAL or MODELESS. Default is MODAL. Type only affect window
  1328. appearance, not the dialog's behavior."
  1329. (DIALOG-PROTO  OBJECT :ALLOCATE)
  1330. "Method args: ()
  1331. Allocates and opens a dialog window."
  1332. (DIALOG-PROTO  OBJECT :REMOVE)
  1333. "Method args: ()
  1334. Closes and deallocates the dialog window."
  1335. (DIALOG-PROTO  OBJECT :DISPOSE)
  1336. "Method args: ()
  1337. Closes and deallocates the dialog window."
  1338. (DIALOG-PROTO  OBJECT :CLOSE)
  1339. "Method args: ()
  1340. Closes and deallocates the dialog window."
  1341. (DIALOG-PROTO  OBJECT :ALLOCATED-P)
  1342. "Method args: ()
  1343. Returns T if dialog is allocated, NIL if not."
  1344. (DIALOG-PROTO  OBJECT :DEFAULT-BUTTON)
  1345. "Message args: (button)
  1346. Makes BUTTON the default button."
  1347. (DIALOG-PROTO  OBJECT :MODAL-DIALOG)
  1348. "Method args: ()
  1349. Puts dialog into modal mode, waits for a dialog event, and returns the item
  1350. in which the event occurred."
  1351. (DIALOG-PROTO :ITEMS)
  1352. "Method args: ()
  1353. Returns list of dialog items."
  1354.  
  1355. ;; DIALOG-ITEM-PROTO
  1356. (DIALOG-ITEM-PROTO  OBJECT PROTO)
  1357. "Dialog item prototype."
  1358. (DIALOG-ITEM-PROTO  OBJECT :DO-ACTION)
  1359. "Method args: ()
  1360. Funcalls value of ACTION slot if it is not NIL."
  1361. (DIALOG-ITEM-PROTO  OBJECT :ACTION)
  1362. "Method args (&optional fcn)
  1363. Sets or returns value of ACTION slot."
  1364.  
  1365. ;; BUTTON-ITEM-PROTO
  1366. (BUTTON-ITEM-PROTO  OBJECT :ISNEW)
  1367. "Method args: (text &key location size action)
  1368. Initializes a button item."
  1369.  
  1370. ;; TOGGLE-ITEM-PROTO
  1371. (TOGGLE-ITEM-PROTO  OBJECT PROTO)
  1372. "Toggle item prototype."
  1373. (TOGGLE-ITEM-PROTO  OBJECT :ISNEW)
  1374. "Method args: (text &key location size action value)
  1375. Initializes a toggle (check box) item."
  1376. (TOGGLE-ITEM-PROTO  OBJECT :VALUE)
  1377. "Method args: (value)
  1378. Sets or gets toggle item value. Value is T or NIL."
  1379.  
  1380. ;; TEXT-ITEM-PROTO
  1381. (TEXT-ITEM-PROTO  OBJECT PROTO)
  1382. "Text item prototype."
  1383. (TEXT-ITEM-PROTO  OBJECT :ISNEW)
  1384. "Method args: (text &key location size action (editable nil))
  1385. Initializes a text item (editable or static)."
  1386. (TEXT-ITEM-PROTO  OBJECT :TEXT)
  1387. "Method args: (string)
  1388. Sets or gets text item's text."
  1389.   
  1390. ;; CHOICE-ITEM-PROTO
  1391. (CHOICE-ITEM-PROTO  OBJECT PROTO)
  1392. "Choice (radio button cluster) item prototype."
  1393. (CHOICE-ITEM-PROTO  OBJECT :ISNEW)
  1394. "Method args: (strings &key location size action value)
  1395. Initializes a choice (radio button cluster) item. STRINGS is a list of strings."
  1396. (CHOICE-ITEM-PROTO  OBJECT :VALUE)
  1397. "Method args: (value)
  1398. Sets or gets choice item value. Value is the zero-based index of the selected item."
  1399.  
  1400. ;; SCROLL-ITEM-PROTO
  1401. (SCROLL-ITEM-PROTO  OBJECT PROTO)
  1402. "Scroll bar item."
  1403. (SCROLL-ITEM-PROTO  OBJECT :ISNEW)
  1404. "Method args: (&key location size action (min-value 0) (max-value 100) (page-increment 5) 
  1405. value)
  1406. Initializes a scroll bar item. Orientation is determined by SIZE; default is horizontal."
  1407. (SCROLL-ITEM-PROTO  OBJECT :VALUE)
  1408. "Method args: (value)
  1409. Sets or gets scroll item value. Value is truncated to [min-value, max-value]."
  1410. (SCROLL-ITEM-PROTO  OBJECT :MAX-VALUE)
  1411. "Method args: (value)
  1412. Sets or gets scroll item minimum value."
  1413. (SCROLL-ITEM-PROTO  OBJECT :MIN-VALUE)
  1414. "Method args: (value)
  1415. Sets or gets scroll item maximum value."
  1416. (SCROLL-ITEM-PROTO  OBJECT :SCROLL-ACTION)
  1417. "Method args: ()
  1418. Funcalls ACTION slot value if it is not NIL."
  1419.  
  1420. ;; LIST-ITEM-PROTO
  1421. (LIST-ITEM-PROTO  OBJECT PROTO)
  1422. "List item."
  1423. (LIST-ITEM-PROTO  OBJECT :ISNEW)
  1424. "Method args: (strings &key location size action (columns 1))
  1425. Initializes a list item. STRINGS should be a sequence of two dimensional array
  1426. of strings. COLUMNS is the number of columns visible in the display."
  1427. (LIST-ITEM-PROTO  OBJECT :DO-ACTION)
  1428. "Method args: (&optional (double nil))
  1429. Funcalls value of ACTION slot, if it is not NIL, with argument DOUBLE."
  1430. (LIST-ITEM-PROTO  OBJECT :SET-TEXT)
  1431. "Method args: (string index)
  1432. Sets text at INDEX to STRING. INDEX should be a number or a list of two numbers,
  1433. depending on whether the list cas constructed with a sequence or an array."
  1434. (LIST-ITEM-PROTO  OBJECT :SELECTION)
  1435. "Method args: (&optional index)
  1436. Sets or returns index of selected cell. INDEX should be a number for a sequence
  1437. and a list of two numbers for an array, or NIL to turn off selection."
  1438.  
  1439. ;; GRAPH-WINDOW-PROTO
  1440. (GRAPH-WINDOW-PROTO  OBJECT PROTO)
  1441. "Basic graphics window prototype."
  1442. (GRAPH-WINDOW-PROTO  OBJECT :ISNEW)
  1443. " Method args: (&key (title \"Graph Window\") location size
  1444.                       (go-away t) menu (black-on-white t)
  1445.                       has-h-scroll has-v-scroll menu-title)
  1446. Initializes and send :allocate message to basic plot window."
  1447. (GRAPH-WINDOW-PROTO  OBJECT :ALLOCATE)
  1448. "Method args: ()
  1449. Allocates new graph window based on content of slots."
  1450.  
  1451. (GRAPH-WINDOW-PROTO  OBJECT :IDLE-ON)
  1452. "
  1453. Method args: (&optional on)
  1454. Sets or returns idling state. On means :do-idle method is sent each pass through
  1455. the event loop."
  1456.  
  1457. (GRAPH-WINDOW-PROTO  OBJECT :MENU)
  1458. "Method args: (&optional menu)
  1459. Sets or retrieves window's menu."
  1460.  
  1461. (GRAPH-WINDOW-PROTO  OBJECT :UPDATE)
  1462. "Method args: (resized)
  1463. Sends self the :RESIZED method if RESIZED is true, redraws the frame and
  1464. controls, and sends self the :REDRAW message."
  1465. (GRAPH-WINDOW-PROTO  OBJECT :ACTIVATE)
  1466. "Method args: (active)
  1467. Installs menu if ACTIVE is true; removes it otherwise. (Macintosh only.)"
  1468. (GRAPH-WINDOW-PROTO  OBJECT :REMOVE)
  1469. "Method args: ()
  1470. Closes and deallocates the graph window."
  1471. (GRAPH-WINDOW-PROTO  OBJECT :DISPOSE)
  1472. "Method args: ()
  1473. Closes and deallocates the graph window."
  1474. (GRAPH-WINDOW-PROTO  OBJECT :CLOSE)
  1475. "Method args: ()
  1476. Closes and deallocates the graph window."
  1477. (GRAPH-WINDOW-PROTO  OBJECT :WHILE-BUTTON-DOWN)
  1478. "Method args: (fcn &optional (motion-only t))
  1479. Calls fcn repeatedly while mouse button is down. FCN should take two arguments,
  1480. the current x and y coordinates of the mouse. Returns NIL. Should be called
  1481. when button is already down."
  1482. (GRAPH-WINDOW-PROTO  OBJECT :TITLE)
  1483. "Method args: (&optional string)
  1484. Sets or retrieves window title."
  1485. (GRAPH-WINDOW-PROTO  OBJECT :DO-IDLE)
  1486. "Method args: ()
  1487. Message received from system in idle state when idling is on."
  1488. (GRAPH-WINDOW-PROTO  OBJECT :REDRAW)
  1489. "Method args: ()
  1490. Message received from system when window needs redrawing."
  1491. (GRAPH-WINDOW-PROTO  OBJECT :RESIZE)
  1492. "Method args: ()
  1493. Message received from system when window is resized."
  1494.  
  1495. (GRAPH-WINDOW-PROTO  OBJECT :CANVAS-WIDTH)
  1496. "Method args: ()
  1497. Returns current canvas width."
  1498. (GRAPH-WINDOW-PROTO  OBJECT :CANVAS-HEIGHT)
  1499. "Method args: ()
  1500. Returns current canvas height."
  1501. (GRAPH-WINDOW-PROTO  OBJECT :LINE-TYPE)
  1502. "Method args: (&optional type)
  1503. Sets or returns current line type. Choices are SOLID and DASHED."
  1504. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-MODE)
  1505. "Method args: (&optional mode)
  1506. Sets or returns current drawing mode. Choices are NORMAL and XOR."
  1507. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-COLOR)
  1508. "Method args: (&optional color)
  1509. Sets or retrieves current drawing color. Choices are in the list *COLORS*."
  1510. (GRAPH-WINDOW-PROTO  OBJECT :BACK-COLOR)
  1511. "Method args: (&optional color)
  1512. Sets or retrieves current background color. Choices are in the list *COLORS*."
  1513. (GRAPH-WINDOW-PROTO  OBJECT :USE-COLOR)
  1514. "Method args: (&optional use)
  1515. Sets or retrieves current color use state. Has no effect on B/W systems."
  1516. (GRAPH-WINDOW-PROTO  OBJECT :REVERSE-COLORS)
  1517. "Method args: ()
  1518. Reverses drawing and background colors and sends self the :REDRAW message."
  1519. (GRAPH-WINDOW-PROTO  OBJECT :VIEW-RECT)
  1520. "Method args: ()
  1521. Returns the current view rectangle as list of the form
  1522. (LEFT TOP WIDTH HEIGHT)"
  1523. (GRAPH-WINDOW-PROTO  OBJECT :LINE-WIDTH)
  1524. "Method args: (&optional width)
  1525. Sets or retrieves current line width."
  1526. (GRAPH-WINDOW-PROTO  OBJECT :CLIP-RECT)
  1527. "Method args: (&optional left top width height)
  1528. Sets or retrieves current clip rectangle. If NIL is supplied clipping is turned off.
  1529. A result of NIL means clipping is disabled."
  1530. (GRAPH-WINDOW-PROTO  OBJECT :CURSOR)
  1531. "Method args: (&optional cursor)
  1532. Sets or retrieves the current window cursor. Choices are in the list *cursors*."
  1533.  
  1534. (GRAPH-WINDOW-PROTO  OBJECT :HAS-H-SCROLL)
  1535. "Method args: (&optional x)
  1536. Determines or sets whether window has a horizontal scrollbar. If X is 
  1537. supplied and is NIL the scroll bar is removed. If X is a number a scroll
  1538. bar is added and the canvas width is set to the number (between 0 and 3200).
  1539. If X is T a scroll bar is added and the canvas width is set to the maximum
  1540. of the screen's width and height."
  1541. (GRAPH-WINDOW-PROTO  OBJECT :HAS-V-SCROLL)
  1542. "Method args: (&optional x)
  1543. Determines or sets whether window has a vertical scrollbar. If X is 
  1544. supplied and is NIL the scroll bar is removed. If X is a number a scroll
  1545. bar is added and the canvas height is set to the number (between 0 and 3200).
  1546. If X is T a scroll bar is added and the canvas height is set to the maximum
  1547. of the screen's width and height."
  1548. (GRAPH-WINDOW-PROTO  OBJECT :SCROLL)
  1549. "Method args: (x y)
  1550. Sets or returns current position of left top corner of view rectangle.
  1551. X or Y are ignored if no horizontal or vertical scroll bar is present."
  1552. (GRAPH-WINDOW-PROTO  OBJECT :H-SCROLL-INCS)
  1553. "Method args: (inc page-inc)
  1554. Sets or retrieves the increments scrolled by the buttons and page areas
  1555. of the horizontal scroll bar."
  1556. (GRAPH-WINDOW-PROTO  OBJECT :V-SCROLL-INCS)
  1557. "Method args: (inc page-inc)
  1558. Sets or retrieves the increments scrolled by the buttons and page areas
  1559. of the vertical scroll bar."
  1560.  
  1561. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-LINE)
  1562. "Method args: (x1 y1 x2 y2)
  1563. Draws line from (x1 y1) to (x2 y2)."
  1564. (GRAPH-WINDOW-PROTO  OBJECT :ERASE-RECT)
  1565. "Method args: (left top width height)
  1566. Frames the rectangle (LEFT TOP WIDTH HEIGHT)."
  1567. (GRAPH-WINDOW-PROTO  OBJECT :FRAME-RECT)
  1568. "Method args: (left top width height)
  1569. Fills the rectangle (LEFT TOP WIDTH HEIGHT) with the background color."
  1570. (GRAPH-WINDOW-PROTO  OBJECT :PAINT-RECT)
  1571. "Method args: (left top width height)
  1572. Fills the rectangle (LEFT TOP WIDTH HEIGHT) with the drawing color."
  1573. (GRAPH-WINDOW-PROTO  OBJECT :ERASE-OVAL)
  1574. "Method args: (left top width height)
  1575. Fills the oval in (LEFT TOP WIDTH HEIGHT) with the background color."
  1576. (GRAPH-WINDOW-PROTO  OBJECT :FRAME-OVAL)
  1577. "Method args: (left top width height)
  1578. Frames the oval in (LEFT TOP WIDTH HEIGHT)."
  1579. (GRAPH-WINDOW-PROTO  OBJECT :PAINT-OVAL)
  1580. "Method args: (left top width height)
  1581. Fills the oval in (LEFT TOP WIDTH HEIGHT) with the drawing color."
  1582. (GRAPH-WINDOW-PROTO  OBJECT :FRAME-POLY)
  1583. "Method args: (poly &optional (from-origin t))
  1584. Outlines polygon. POLY is a list of lists of two numbers. If FROM-ORIGIN is 
  1585. true coordinates are relative to the origin; otherwise they are relative to
  1586. the previous point."
  1587. (GRAPH-WINDOW-PROTO  OBJECT :PAINT-POLY)
  1588. "Method args: (poly &optional (from-origin t))
  1589. Paints content of polygon in current draw color. POLY is a list of lists of two
  1590. numbers. If FROM-ORIGIN is true coordinates are relative to the origin; 
  1591. otherwise they are relative to the previous point."
  1592. (GRAPH-WINDOW-PROTO  OBJECT :ERASE-POLY)
  1593. "Method args: (poly &optional (from-origin t))
  1594. Erases content of polygon. POLY is a list of lists of two numbers. If
  1595. FROM-ORIGIN is true coordinates are relative to the origin; otherwise
  1596. they are relative to the previous point."
  1597. (GRAPH-WINDOW-PROTO  OBJECT :ERASE-ARC)
  1598. "Method args: (left top width height start delta)
  1599. Fills the arc in (LEFT TOP WIDTH HEIGHT) from START by DELTA with the
  1600. background color. Angles are in degrees."
  1601. (GRAPH-WINDOW-PROTO  OBJECT :FRAME-ARC)
  1602. "Method args: (left top width height start delta)
  1603. Frames the arc in (LEFT TOP WIDTH HEIGHT) from START by DELTA. Angles are in
  1604. degrees."
  1605. (GRAPH-WINDOW-PROTO  OBJECT :PAINT-ARC)
  1606. "Method args: (left top width height start delta)
  1607. Fills the oval in (LEFT TOP WIDTH HEIGHT) from START by DELTA with the
  1608. drawing color. Angles are in degrees."
  1609.  
  1610. (GRAPH-WINDOW-PROTO  OBJECT :TEXT-ASCENT)
  1611. "Method args: ()
  1612. Returns ascent in pixels for the window's text font."
  1613. (GRAPH-WINDOW-PROTO  OBJECT :TEXT-DESCENT)
  1614. "Method args: ()
  1615. Returns descent in pixels for the window's text font."
  1616. (GRAPH-WINDOW-PROTO  OBJECT :TEXT-WIDTH)
  1617. "Method args: (string)
  1618. Returns widh in pixels of STRING in the window's font."
  1619. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-STRING)
  1620. "Method args: (string x y)
  1621. Draws STRING horizontally starting at (x y)."
  1622. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-STRING-UP) 
  1623. "Method args: (string x y)
  1624. Draws STRING vertically starting at (x y)."
  1625. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-TEXT)
  1626. "Method args: (string x y h v)
  1627. Draws STRING horizontally positioned relative to (x y). H controls horizontal
  1628. justification. 0 = left justified, 1 = centered, 2 = right justified. V controls
  1629. vertical positioning. 0 = above (x y), 1 = below (x y)."
  1630. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-TEXT-UP)
  1631. "Method args: (string x y h v)
  1632. Same as :DRAW-TEXT but rotated by 90 degrees."
  1633. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-SYMBOL)
  1634. "Method args: (symbol hilited x y)
  1635. Draws SYMBOL at (x y). Choices are in list *PLOT-SYMBOLS*"
  1636. (GRAPH-WINDOW-PROTO  OBJECT :REPLACE-SYMBOL)
  1637. "Method args: (oldsym oldh newsym newh x y)
  1638. Replaces OLDSYM at (x y) by NEWSYM. Hilighting states are set by OLDH and NEWH.
  1639. Available symbols are in the list *PLOT-SYMBOLS*"
  1640. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-BITMAP)
  1641. "Method args: (image left top)
  1642. Draws IMAGE, a matrix of 0's and 1's, with top left corner at (LEFT TOP)"
  1643. (GRAPH-WINDOW-PROTO  OBJECT :DRAW-POINT)
  1644. "Method args: (x y)
  1645. Draws a single pixel at (X Y)"
  1646.  
  1647. (GRAPH-WINDOW-PROTO  OBJECT :START-BUFFERING)
  1648. "Method args: ()
  1649. Starts sending drawing result so buffer or increases buffering level if already
  1650. buffering."
  1651. (GRAPH-WINDOW-PROTO  OBJECT :BUFFER-TO-SCREEN)
  1652. "Method args: (&optional left top width height)
  1653. Reduces buffering level. If level reaches zero copies content of rectangle
  1654. (LEFT TOP WIDTH HEIGHT to window. Default rectangle is the window's view rectangle."
  1655.  
  1656. (GRAPH-WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
  1657. "Method args: ()
  1658. Sends the plot the :REDRAW message, surrounded by open and close picture commands.
  1659. Then puts the picture on the clip board."
  1660. (GRAPH-WINDOW-PROTO  OBJECT :DRAG-GREY-RECT)
  1661. "Method args: (x y width height)
  1662. Drags grey rectangle starting at (LIST (- X WIDTH) (- Y HEIGHT) WIDTH HEIGHT)
  1663. while mouse button is down. Returns the final rectangle. Should be called when
  1664. the mouse is down."
  1665.   
  1666. ;; GRAPH-PROTO
  1667. (GRAPH-PROTO  OBJECT PROTO)
  1668. "Basic graphics window prototype."
  1669. (GRAPH-PROTO  OBJECT :ISNEW)
  1670. " Method args: (vars &key (title \"Graph\") location size
  1671.                           (go-away t) menu (black-on-white t)
  1672.                           has-h-scroll has-v-scroll menu-title
  1673.                           variable-labels scale)
  1674. Initializes and send :allocate message to basic plot window."
  1675. (GRAPH-PROTO  OBJECT :ALLOCATE)
  1676. "Method args: ()
  1677. Allocates a new graph."
  1678.  
  1679. (GRAPH-PROTO  OBJECT :RESIZE)
  1680. "
  1681. Method args: ()
  1682. Adjusts internal layout after resizing."
  1683. (GRAPH-PROTO  OBJECT :REDRAW)
  1684. "Method args: ()
  1685. Redraws entire plot."
  1686. (GRAPH-PROTO  OBJECT :REDRAW-CONTENT)
  1687. "Method args: ()
  1688. Redraws plot's content."
  1689. (GRAPH-PROTO  OBJECT :ADJUST-SCREEN)
  1690. "Method args: ()
  1691. Checks all points and adjusts their screen states to match internal state."
  1692. (GRAPH-PROTO  OBJECT :ADJUST-POINTS-IN-RECT)
  1693. "Method args: (left top width height state)
  1694. Adjusts points in rectangle to have specified state. STATE should be HILITED or SELECTED.
  1695. If it is HILITED, highlighted points outside the rectangle are unhighlighted."
  1696. (GRAPH-PROTO  OBJECT :ADJUST-SCREEN-POINT)
  1697. "Method args: (i)
  1698. Adjusts the screen highlight state of point I to match internal state. Internal state
  1699. should not be INVISIBLE."
  1700.  
  1701. (GRAPH-PROTO  OBJECT :CONTENT-RECT)
  1702. "Method args: (&optional left top width height)
  1703. Sets or retrieves current content rectangle."
  1704. (GRAPH-PROTO  OBJECT :CONTENT-ORIGIN)
  1705. "Method args: (&optional x y)
  1706. Sets or retrieves the current content origin."
  1707. (GRAPH-PROTO  OBJECT :CONTENT-VARIABLES)
  1708. "Method args: (&optional xvar yvar)
  1709. Sets or retrieves the indices of the current content variables."
  1710. (GRAPH-PROTO  OBJECT :CLICK-RANGE)
  1711. "Method args: (&optional width height)
  1712. Sets or retrieves the size of the current mouse click range."
  1713. (GRAPH-PROTO  OBJECT :MOUSE-MODE)
  1714. "Method args (&optional mode)
  1715. Sets or retrieves current mouse mode."
  1716. (GRAPH-PROTO  OBJECT :SHOWING-LABELS)
  1717. "Method args: (&optional showing)
  1718. Sets or retrieves current labeling state (true or NIL)."
  1719. (GRAPH-PROTO  OBJECT :MARGIN)
  1720. "Method args: (&optional left top right bottom &key (draw t))
  1721. Sets or retrieves current list of margin sizes."
  1722. (GRAPH-PROTO  OBJECT :FIXED-ASPECT)
  1723. "Method args: (&optional fixed)
  1724. Sets or retrieves current size adjustment option (true or NIL)."
  1725.  
  1726. (GRAPH-PROTO  OBJECT :X-AXIS)
  1727. "Method args: (&optional showing labeled ticks)
  1728. Sets or retrieves current acis label state. SHOWING and LABELED should be
  1729. true or NIL; TICKS should be a number. All three should be supplied for setting
  1730. a new state. A list of the three properties is returned."
  1731. (GRAPH-PROTO  OBJECT :Y-AXIS)
  1732. "Method args: (&optional showing labeled ticks)
  1733. Sets or retrieves current acis label state. SHOWING and LABELED should be
  1734. true or NIL; TICKS should be a number. All three should be supplied for setting
  1735. a new state. A list of the three properties is returned."
  1736. (GRAPH-PROTO  OBJECT :BRUSH)
  1737. "Method args: (x y width height)
  1738. Sets or retrieves current brush. Brush is specified in terms of the lower lefthand
  1739. corner and its width and height."
  1740. (GRAPH-PROTO  OBJECT :ERASE-BRUSH)
  1741. "Method args: ()
  1742. Removes brush from the screen."
  1743. (GRAPH-PROTO  OBJECT :DRAW-BRUSH)
  1744. "Method args: ()
  1745. Draws brush at its current position."
  1746. (GRAPH-PROTO  OBJECT :MOVE-BRUSH)
  1747. "Method args: (x y)
  1748. Moves the brush's lower left hand corner to (X, Y)."
  1749. (GRAPH-PROTO  OBJECT :RESIZE-BRUSH)
  1750. "Method args: ()
  1751. Opens the brush resizing dialog and resets the brush if the OK button is clicked."
  1752.  
  1753. (GRAPH-PROTO  OBJECT :DO-CLICK)
  1754. "Method args: (x y extend option)
  1755. Sends appropriate action message for mouse mode to plot."
  1756. (GRAPH-PROTO  OBJECT :DO-MOTION)
  1757. "Method args: (x y)
  1758. Sends appropriate action message for mouse mode to plot."
  1759. (GRAPH-PROTO  OBJECT :DO-KEY)
  1760. "Method args: (char shift option)
  1761. Message received when user hits a key."
  1762. (GRAPH-PROTO  OBJECT :UNSELECT-ALL-POINTS)
  1763. "Method args: ()
  1764. Unselects all points."
  1765. (GRAPH-PROTO  OBJECT :ERASE-SELECTION)
  1766. "Method args: ()
  1767. Sets selected points states to invisible and sends :ADJUST-SCREEN message."
  1768. (GRAPH-PROTO  OBJECT :MASK-SELECTION)
  1769. "Method args: ()
  1770. Masks selected points and sends :ADJUST-SCREEN message "
  1771. (GRAPH-PROTO  OBJECT :UNMASK-ALL-POINTS)
  1772. "Method args: ()
  1773. Unmasks all points and sends :ADJUST-SCREEN message "
  1774. (GRAPH-PROTO  OBJECT :SHOW-ALL-POINTS)
  1775. "Method args: ()
  1776. Sets all point states to normal and sends :ADJUST-SCREEN message "
  1777. (GRAPH-PROTO  OBJECT :ALL-POINTS-SHOWING-P)
  1778. "Method ars: ()"
  1779. (GRAPH-PROTO  OBJECT :ALL-POINTS-UNMASKED-P)
  1780. "Method ars: ()"
  1781. (GRAPH-PROTO  OBJECT :ANY-POINTS-SELECTED-P)
  1782. "Method ars: ()"
  1783.  
  1784. (GRAPH-PROTO  OBJECT :LINKED)
  1785. "Method ars: (&optional on)
  1786. Sets or retrieves plot's linking state."
  1787.  
  1788. (GRAPH-PROTO  OBJECT :NUM-VARIABLES)
  1789. "Method args: ()
  1790. Returns the number of variables in the plot."
  1791. (GRAPH-PROTO  OBJECT :VARIABLE-LABEL)
  1792. "Method args: (var &optional label)
  1793. Sets or returns label for variable with index VAR. Vectorized."
  1794. (GRAPH-PROTO  OBJECT :RANGE)
  1795. "Method args: (index &optional low high)
  1796. Sets or retrieves variable's original coordinate range. Vectorized."
  1797. (GRAPH-PROTO  OBJECT :SCALED-RANGE)
  1798. "Method args: (index &optional low high)
  1799. Sets or retrieves variable's transformed coordinate range. Vectorized."
  1800. (GRAPH-PROTO  OBJECT :SCREEN-RANGE)
  1801. "Method args: (index &optional low high)
  1802. Sets or retrieves variable's screen coordinate range. Vectorized."
  1803. (GRAPH-PROTO  OBJECT :TRANSFORMATION)
  1804. "Method args: (&optional a &key (draw t))
  1805. Sets or retrieves transformation. A should be a matrix or NIL. If draw is true
  1806. the :REDRAW-CONTENT message is sent."
  1807. (GRAPH-PROTO  OBJECT :APPLY-TRANSFORMATION)
  1808. "Method args: (a &key draw basis)
  1809. Applies matrix A to current transformation. If draw is true the :REDRAW-CONTENT
  1810. message is sent."
  1811.  
  1812. (GRAPH-PROTO  OBJECT :ADD-POINTS)
  1813. "Method args: (points &key point-labels (draw t))
  1814. Adds points to plot. POINTS is a list of sequences, POINT-LABELS a list of
  1815. strings. If DRAW is true the new points are added to the screen."
  1816. (GRAPH-PROTO  OBJECT :CLEAR-POINTS)
  1817. "Method args: (&key (draw t))
  1818. Removes all points from the plot. If DRAW is true the :REDRAW-CONTENT
  1819. message is sent."
  1820. (GRAPH-PROTO  OBJECT :NUM-POINTS)
  1821. "Method args: ()
  1822. Returns the number of points in the plot."
  1823. (GRAPH-PROTO  OBJECT :POINT-COORDINATE)
  1824. "Method args: (var point &optional value)
  1825. Sets or retrieves coordinate for variable VAR and point POINT in the original
  1826. coordinate system. Vectorized."
  1827. (GRAPH-PROTO  OBJECT :POINT-SCREEN-COORDINATE)
  1828. "Method args: (var point)
  1829. Returns rounded coordinate for variable VAR and point POINT in the screen
  1830. coordinate system. Vectorized."
  1831. (GRAPH-PROTO  OBJECT :POINT-TRANSFORMED-COORDINATE)
  1832. "Method args: (var point)
  1833. Returns coordinate for variable VAR and point POINT in the transformed
  1834. coordinate system. Vectorized."
  1835. (GRAPH-PROTO  OBJECT :POINT-MASKED)
  1836. "Method args: (point &optional masked)
  1837. Sets or retrieves masked state (true or NIL) of point POINT. Vectorized."
  1838. (GRAPH-PROTO  OBJECT :POINT-COLOR)
  1839. "Method args: (point &optional color)
  1840. Sets or retrieves color of point POINT. Vectorized."
  1841. (GRAPH-PROTO  OBJECT :POINT-STATE)
  1842. "Method args: (point &optional state)
  1843. Sets or retrieves state (invisible, normal, hilited or selected) of point
  1844. POINT. Vectorized."
  1845. (GRAPH-PROTO  OBJECT :POINT-SCREEN-STATE)
  1846. "Method args: (point &optional state)
  1847. Sets or retrieves internal screen state of point POINT. Does no
  1848. drawing. Vectorized."
  1849. (GRAPH-PROTO  OBJECT :POINT-LABEL)
  1850. "Method args: (point &optional label)
  1851. Sets or retrieves label of point POINT. Vectorized."
  1852. (GRAPH-PROTO  OBJECT :POINT-SYMBOL)
  1853. "Method args: (point &optional symbol)
  1854. Sets or retrieves symbol of point POINT. Vectorized."
  1855. (GRAPH-PROTO  OBJECT :POINT-SELECTED)
  1856. "Method args: (point &optional selected)
  1857. Sets or returns selection status (true or NIL) of POINT. Sends 
  1858. :ADJUST-SCREEN message if states are set. Vectorized."
  1859. (GRAPH-PROTO  OBJECT :POINT-HILITED)
  1860. "Method args: (point &optional hilited)
  1861. Sets or returns highlighting status (true or NIL) of POINT. Sends 
  1862. :ADJUST-SCREEN message if states are set. Vectorized."
  1863. (GRAPH-PROTO  OBJECT :POINT-SHOWING)
  1864. "Method args: (point &optional selected)
  1865. Sets or returns visibility status (true or NIL) of POINT. Sends 
  1866. :ADJUST-SCREEN message if states are set. Vectorized."
  1867. (GRAPH-PROTO  OBJECT :UNSHOW-ALL-POINTS)
  1868. "Method args: ()
  1869. Makes all points invisible."
  1870. (GRAPH-PROTO  OBJECT :SELECTION)
  1871. "Method args: (&optional list)
  1872. Sets or Return indices of current selection."
  1873. (GRAPH-PROTO  OBJECT :POINTS-HILITED)
  1874. "Method args: (&optional list)
  1875. Sets or Return indices of currently highlighted points."
  1876. (GRAPH-PROTO  OBJECT :POINTS-SHOWING)
  1877. "Method args: (&optional list)
  1878. Sets or Return indices of currently visible points."
  1879. (GRAPH-PROTO  OBJECT :POINTS-SELECTED)
  1880. "Method args: (&optional list)
  1881. Sets or Return indices of current selection."
  1882.  
  1883. (GRAPH-PROTO  OBJECT :ADD-LINES)
  1884. "Method args: (lines &key type (draw t))
  1885. Adds lines to plot. LINES is a list of sequences, the coordinates of the line starts.
  1886. TYPE is normal or dashed. If DRAW is true the new lines are added to the screen."
  1887. (GRAPH-PROTO  OBJECT :CLEAR-LINES)
  1888. "Method args: (&key (draw t))
  1889. Removes all lines from the plot. If DRAW is true the :REDRAW-CONTENT
  1890. message is sent."
  1891. (GRAPH-PROTO  OBJECT :NUM-LINES)
  1892. "Method args: ()
  1893. Returns the number of line starts in the plot."
  1894. (GRAPH-PROTO  OBJECT :LINESTART-COORDINATE)
  1895. "Method args: (var line &optional value)
  1896. Sets or retrieves coordinate for variable VAR and line start LINE in the original
  1897. coordinate system. Vectorized."
  1898. (GRAPH-PROTO  OBJECT :LINESTART-SCREEN-COORDINATE)
  1899. "Method args: (var line)
  1900. Returns rounded coordinate for variable VAR and line start LINE in the screen
  1901. coordinate system. Vectorized."
  1902. (GRAPH-PROTO  OBJECT :LINESTART-TRANSFORMED-COORDINATE)
  1903. "Method args: (var line)
  1904. Returns coordinate for variable VAR and line start LINE in the transformed
  1905. coordinate system. Vectorized."
  1906. (GRAPH-PROTO  OBJECT :LINESTART-MASKED)
  1907. "Method args: (line &optional masked)
  1908. Sets or retrieves masked state (true or NIL) of line start LINE. Vectorized."
  1909. (GRAPH-PROTO  OBJECT :LINESTART-COLOR)
  1910. "Method args: (line &optional color)
  1911. Sets or retrieves color of line start LINE. Vectorized."
  1912. (GRAPH-PROTO  OBJECT :LINESTART-NEXT)
  1913. "Method args: (line &optional next)
  1914. Sets or returns index of line start to which line is to be drawn. Negative values
  1915. mean no line. Vectorized."
  1916. (GRAPH-PROTO  OBJECT :LINESTART-TYPE)
  1917. "Method args: (line &optional type)
  1918. Sets or retrieves line type. Vectorized."
  1919. (GRAPH-PROTO  OBJECT :LINESTART-WIDTH)
  1920. "Method args: (line &optional width)
  1921. Sets or retrieves the line width for the line start. Vectorized."
  1922.  
  1923. (GRAPH-PROTO  OBJECT :DRAW-DATA-POINTS)
  1924. "Method args: (var1 var2 m n)
  1925. Draws points with indices between m (inclusive) and n (exclusive) using VAR1 and VAR2 
  1926. coordinates."
  1927. (GRAPH-PROTO  OBJECT :DRAW-DATA-LINES)
  1928. "Method args: (var1 var2 m n)
  1929. Draws lines with indices between m (inclusive) and n (exclusive) using VAR1 and VAR2 
  1930. coordinates."
  1931.  
  1932. (GRAPH-PROTO  OBJECT :ROTATE-2)
  1933. "Method args: (var1 var2 angle &key (draw t))
  1934. Rotates int the plane of variables with indices VAR1 and VAR2 by ANGLE, in
  1935. radians. sends the :REDRAW-CONTENT message if DRWA is true."
  1936.  
  1937. (GRAPH-PROTO  OBJECT :ADJUST-TO-DATA) 
  1938. "Method args: (&key (draw t))
  1939. Sets ranges to the actual range of variables in the original coordinate
  1940. system. If DRAW is true sends :RESIZE and :REDRAW messages."
  1941. (GRAPH-PROTO  OBJECT :VISIBLE-RANGE)
  1942. "Method args: (var)
  1943. Returns list of min and max of variable VAR over visible, unmasked points,
  1944. lines and strings. Vectorized."
  1945. (GRAPH-PROTO  OBJECT :SCALE-TO-RANGE)
  1946. "Method args: (var low high &key (draw t))
  1947. Scales and shifts data to map visible range into specified range. Sends
  1948. :RESIZE and :REDRAW messages if DRAW is true."
  1949. (GRAPH-PROTO  OBJECT :SCALE)
  1950. "Method args: (var &optional scale &key (draw t))
  1951. Sets or retrieves current scale for variable VAR. Sends :RESIZE and :REDRAW
  1952. messages if DRAW is true."
  1953. (GRAPH-PROTO  OBJECT :SHIFT)
  1954. "Method args: (var &optional shift &key (draw t))
  1955. Sets or retrieves current shift for variable VAR. Sends :RESIZE and :REDRAW
  1956. messages if DRAW is true."
  1957.  
  1958. (GRAPH-PROTO  OBJECT :CLEAR-MASKS)
  1959. "Method args: ()
  1960. Unmasks all points, lines and strings."
  1961. (GRAPH-PROTO  OBJECT :SLICE-VARIABLE)
  1962. "Method args: (var low high)
  1963. Masks points lines and strings with variable VAR original coordinates outside
  1964. of (LOW, HIGH)."
  1965. (GRAPH-PROTO  OBJECT :REAL-TO-CANVAS) 
  1966. "Method args: (x y)
  1967. Returns list of canvas coordinates of point (X, Y), in the original coordinate system,
  1968. based on current content variables."
  1969. (GRAPH-PROTO  OBJECT :SCALED-TO-CANVAS) 
  1970. "Method args: (x y)
  1971. Returns list of canvas coordinates of point (X, Y), in the scaled coordinate system,
  1972. based on current content variables."
  1973. (GRAPH-PROTO  OBJECT :CANVAS-TO-REAL) 
  1974. "Method args: (x y)
  1975. Returns list of real coordinates, in the original coordinate system, of
  1976. canvas point (X, Y), based on current content variables."
  1977. (GRAPH-PROTO  OBJECT :CANVAS-TO-SCALED) 
  1978. "Method args: (x y)
  1979. Returns list of scaled coordinates, in the scaled coordinate system, of
  1980. canvas point (X, Y), based on current content variables."
  1981. (GRAPH-PROTO  OBJECT :POINTS-IN-RECT)
  1982. "
  1983. Method args: (left top width height)
  1984. Returns list of indices of points in screen rectangle."
  1985.  
  1986. ;; SPIN-PROTO
  1987. (SPIN-PROTO  OBJECT PROTO) "Rotating plot"
  1988. (SPIN-PROTO  OBJECT :ALLOCATE) "documentation not yet available"
  1989.  
  1990. (SPIN-PROTO  OBJECT :SHOWING-AXES)
  1991. "Method args: (&optional showing)
  1992. Sets or retrieves axis showing status (true or NIL)."
  1993. (SPIN-PROTO  OBJECT :DEPTH-CUING)
  1994. "Method args: (&optional cuing)
  1995. Sets or retrieves cuing status (true or NIL)."
  1996. (SPIN-PROTO  OBJECT :DO-IDLE)
  1997. "Method args: ()
  1998. Sends :ROTATE message."
  1999. (SPIN-PROTO  OBJECT :ANGLE)
  2000. "Method args: (&optional angle)
  2001. Sets or retrieves current rotation angle, in radians."
  2002. (SPIN-PROTO  OBJECT :ROTATE)
  2003. "Method args: ()
  2004. Rotates once in the current plane by the current angle."
  2005.  
  2006. ;; SCATMAT-PROTO
  2007. (SCATMAT-PROTO  OBJECT PROTO) "Scatterplot matrix"
  2008.   
  2009. ;; NAME-LIST-PROTO
  2010. (NAME-LIST-PROTO  OBJECT PROTO) "Name list"
  2011. (NAME-LIST-PROTO  OBJECT :ADD-POINTS)
  2012. "Method args: (points &key point-labels (draw t))
  2013. Adds points to plot. POINTS is a number or a list of sequences, POINT-LABELS a list of
  2014. strings. If DRAW is true the new points are added to the screen."
  2015.  
  2016. ;; HISTOGRAM-PROTO
  2017. (HISTOGRAM-PROTO  OBJECT PROTO) "Histogram"
  2018. (HISTOGRAM-PROTO  OBJECT :ADD-POINTS)
  2019. "Method args: (points (draw t))
  2020. Adds points to plot. POINTS is a sequence or a list of sequences. If DRAW is
  2021. true the new points are added to the screen."
  2022. (HISTOGRAM-PROTO  OBJECT :NUM-BINS)
  2023. "Method args: (&optional bins &key (draw t))
  2024. Sets or retrieves number of bins in the histogram. Sends :REDRAW-CONTENT message
  2025. if DRAW is true."
  2026. (HISTOGRAM-PROTO  OBJECT :BIN-COUNTS)
  2027. "Args: ()
  2028. Returns list of the bin counts for the histogram."
  2029.  
  2030. ;; SCATTERPLOT-PROTO
  2031. (SCATTERPLOT-PROTO  OBJECT Proto) "Scatterplot"
  2032. (SCATTERPLOT-PROTO  OBJECT :ADD-POINTS)
  2033. "Method args: (points &key point-labels (draw t))
  2034. or:          (x y  &key point-labels (draw t))
  2035. Adds points to plot. POINTS is a list of sequences, 
  2036. POINT-LABELS a list of strings. If DRAW is true the new points
  2037. are added to the screen. For a 2D plot POINTS can be replaced
  2038. by two sequences X and Y."
  2039. (SCATTERPLOT-PROTO  OBJECT :ADD-LINES)
  2040. "Method args: (lines &key type (draw t))
  2041. or:          (x y  &key point-labels (draw t))
  2042. Adds lines to plot. LINES is a list of sequences, the 
  2043. coordinates of the line  starts. TYPE is normal or dashed. If
  2044. DRAW is true the new lines are added to the screen. For a 2D
  2045. plot LINES can be replaced by two sequences X and Y."
  2046.  
  2047.  
  2048. ;; Regular Functions
  2049.  
  2050. ;; dialog
  2051. SYSBEEP 
  2052. "Args (&optional (n 10))
  2053. Beep for 10 units."
  2054. NUM-TO-STRING 
  2055. "Args (num)
  2056. Return string representation of NUM."
  2057. ABOUT-XLISP-STAT 
  2058. "Args: ()
  2059. Show \About XLISP-STAT dialog on Macintosh, return NIL"
  2060.  
  2061. ;; edit.c
  2062. OPEN-FILE-DIALOG
  2063. "Args ()
  2064. Present standard Macintosh Open File dialog; return file name string or NIL."
  2065. FRONT-WINDOW 
  2066. "Args: ()
  2067. Macintosh. Return front window object, if it is an XLISP-STAT window, NIL otherwise."
  2068. HIDE-FRONT-WINDOW
  2069. "Args: ()
  2070. Hide the front window."
  2071. SYSTEM-EDIT
  2072. "
  2073. Args (item)
  2074. Check if edit selection is handled by a desk accessory. If so return T,
  2075. otherwise return NIL."
  2076.  
  2077. ;; common
  2078. APROPOS
  2079. "Args: (string)
  2080. Prints symbols whose print-names contain STRING as substring.
  2081. If STRING is a symbol its print name is used."
  2082. APROPOS-LIST
  2083. "Args: (string)
  2084. Returns, as a list, all symbols whose print-names contain STRING as substring.
  2085. If STRING is a symbol its print name is used."
  2086. IDENTITY
  2087. "Args: (x)
  2088. Simply returns X."
  2089. MAKE-LIST
  2090. "Args: (size &key (initial-element nil))
  2091. Creates and returns a list containing SIZE elements, each of which is
  2092. initialized to INITIAL-ELEMENT."
  2093. ADJOIN
  2094. "Args: (item list &key (test #'eql) test-not (key #'identity))
  2095. Adds ITEM to LIST unless ITEM is already a member of LIST."
  2096. FILE-POSITION
  2097. "Args (stream &optional position)
  2098. Returns current position of file pointer in file stream STREAM. Sets
  2099. pointer to POSITION if supplied."
  2100. FORMAT
  2101. "Args: (destination control &rest args)
  2102. Very basic implementation of Common Lisp format function. Only A, S, D, F, E,
  2103. G, %, and ~ directives are supported. D, % and ~ can take one argument, R, E
  2104. and G can take two."
  2105. FORCE-OUTPUT
  2106. "Args: (&optional (stream *standard-output*))
  2107. Attempts to force any buffered output to be sent."
  2108. COPY-LIST
  2109. "Args: (list)
  2110. Returns a new copy of LIST."
  2111. COPY-SEQ
  2112. "Args: (sequence)
  2113. Returns a copy of SEQUENCE."
  2114. REDUCE
  2115. "Args: (function sequence &key initial-value)
  2116. Combines all the elements of SEQUENCE using a binary operation FUNCTION. If
  2117. INITIAL-VALUE is supplied it is logically placed before SEQUENCE."
  2118. MAP
  2119. "Args: (result-type function sequence &rest more-sequences)
  2120. FUNCTION must take as many arguments as there are sequences provided. RESULT-TYPE
  2121. must be the either the symbol VECTOR or the symbol LIST. The result is a 
  2122. sequence of the specified type such that the i-th element of the result is the
  2123. result of applying FUNCTION to the i-th elements of the SEQUENCEs."
  2124. ELT
  2125. "Args: (a i)
  2126. Returns element I of sequence A. ELT can be used in setf."
  2127. COERCE
  2128. "Args: (x type)
  2129. Coerces X to an object of the type TYPE."
  2130. COMPLEXP
  2131. "Args: (x)
  2132. Returns T if X is a complex number; NIL otherwise."
  2133. COMPLEX
  2134. "Args: (realpart &optional (imagpart 0))
  2135. Returns a complex number with the given real and imaginary parts."
  2136. CONJUGATE
  2137. "Args: (number)
  2138. Returns the complex conjugate of NUMBER."
  2139. REALPART
  2140. "Args: (number)
  2141. Extracts the real part of NUMBER."
  2142. IMAGPART
  2143. "Args: (number)
  2144. Extracts the imaginary part of NUMBER."
  2145. DEFCONSTANT
  2146. "Syntax: (defconstant name initial-value [doc])
  2147. Declares that the variable NAME is a constant whose value is the value of
  2148. INITIAL-VALUE. If DOC is supplied it is saved as a VARIABLE doc."
  2149. DEFPARAMETER
  2150. "Syntax: (defparameter name initial-value [doc])
  2151. Sets variable NAME to INITIAL-VALUE. If DOC is supplied it is saved as a VARIABLE doc."
  2152. DEFVAR
  2153. "Syntax: (defvar name [initial-value [doc]])
  2154. Initializes variable NAME if it does not yet have a value. If DOC is supplied
  2155. it is saved as a VARIABLE doc."
  2156. MAKUNBOUND
  2157. "Args: (symbol)
  2158. Sets the function slot of SYMBOL to *UNBOUND*. Returns SYMBOL."
  2159. FMAKUNBOUND
  2160. "Args: (symbol)
  2161. Sets the value slot of SYMBOL to *UNBOUND*. Returns SYMBOL."
  2162. TIME 
  2163. "Syntax: (time form)
  2164. Form is evaluated and its result returned. In addition the time required 
  2165. for the evaluation is printed."
  2166. GETENV
  2167. "Args: ()
  2168. Returns current lexical environment."
  2169. GET-INTERNAL-REAL-TIME
  2170. "Args: ()
  2171. Returns the real time in the internal time format."
  2172. GET-INTERNAL-RUN-TIME
  2173. "Args: ()
  2174. Returns the run time in the internal time format."
  2175.  
  2176. CONCATENATE
  2177. "Args: (type &rest sequences)
  2178. Returns new sequence containing all elements of SEQUENCES in order."
  2179. SOME
  2180. "Args (pred &rest sequences)
  2181. Returns true if some elements of SEQUENCES satisfy PRED."
  2182. EVERY
  2183. "Args (pred &rest sequences)
  2184. Returns true if every element of SEQUENCES satisfy PRED."
  2185. NOTANY
  2186. "Args (pred &rest sequences)
  2187. Returns true if no element of SEQUENCES satisfies PRED."
  2188. NOTEVERY
  2189. "Args (pred &rest sequences)
  2190. Returns true if some element of SEQUENCES does not satisfy PRED."
  2191. UNION
  2192. "Args: (list1 list2 &key :test :test-not)
  2193. Returns list of all elements in either LIST1 or LIST2 or both."
  2194. INTERSECTION
  2195. "Args: (list1 list2 &key :test :test-not)
  2196. Returns list of all elements in both LIST1 and LIST2."
  2197. SET-DIFFERENCE
  2198. "Args: (list1 list2 &key :test :test-not)
  2199. Returns list of all elements in LIST1 but not in LIST2."
  2200. SUBSETP
  2201. "Args: (list1 list2 &key :test :test-not)
  2202. Returns T if all elements of LIST2 are in LIST1."
  2203. REMOVE-DUPLICATES
  2204. "Args: (list &key :test :test-not)
  2205. Returns copy of LIST without duplicate elements."
  2206. BUTLAST
  2207. "Args: (list &optional (n 1))
  2208. Returns copy of LIST with last N elements removed."
  2209. MAKE-STRING
  2210. "Args n &key initial-element)
  2211. Returns string of length N. Default INITIAL-ELEMENT is a blank."
  2212. FIND
  2213. "Args: (item list &key (test #'eql) test-not)
  2214. Returns the entry for item if there is one, or NIL."
  2215. POSITION
  2216. "Args: (item list &key (test #'eql) test-not)
  2217. Returns the position of item in LIST or NIL if it is not present."
  2218.  
  2219. ;; commonarrays
  2220. ARRAYP
  2221. "Args: (x)
  2222. Returns T if X is an array; NIL otherwise."
  2223. ARRAY-IN-BOUNDS-P
  2224. "Args: (array &rest subscripts)
  2225. Returns T if SUBSCRIPTS are valid subscripts for ARRAY; NIL otherwise."
  2226. ARRAY-DIMENSIONS
  2227. "Args: (array)
  2228. Returns a list whose elements are the dimensions of ARRAY"
  2229. ARRAY-RANK
  2230. "Args: (array)
  2231. Returns the number of dimensions of ARRAY."
  2232. ARRAY-TOTAL-SIZE
  2233. "Args: (array)
  2234. Returns the total number of elements of ARRAY."
  2235. ARRAY-DIMENSION
  2236. "Args: (array)
  2237. Returns a list whose elements are the dimensions of ARRAY"
  2238. ARRAY-ROW-MAJOR-INDEX
  2239. "Args: (array &rest subscripts)
  2240. Returns the index into the data vector of ARRAY for the element of ARRAY
  2241. specified by SUBSCRIPTS."
  2242. AREF
  2243. "Args: (array &rest subscripts)
  2244. Returns the element of ARRAY specified by SUBSCRIPTS."
  2245. MAKE-ARRAY
  2246. "Args: (dimensions
  2247.        &key initial-element (initial-contents nil)
  2248.             (displaced-to nil))
  2249. Creates an array of the specified DIMENSIONS.  The default for INITIAL-
  2250. ELEMENT depends on ELEMENT-TYPE."
  2251.  
  2252. ;; distributions
  2253. BIVNORM-CDF
  2254. "Args: (x y r)
  2255. Returns the value of the standard bivariate normal distribution function 
  2256. with correlation R at (X, Y). Vectorized."
  2257. NORMAL-CDF
  2258. "Args: (x)
  2259. Returns the value of the standard normal distribution function at X.
  2260. Vectorized."
  2261. BETA-CDF
  2262. "Args: (x alpha beta)
  2263. Returns the value of the Beta(ALPHA, BETA) distribution function at X.
  2264. Vectorized."
  2265. GAMMA-CDF
  2266. "Args: (x alpha)
  2267. Returns the value of the Gamma(alpha, 1) distribution function at X.
  2268. Vectorized."
  2269. CHISQ-CDF
  2270. "Args: (x df)
  2271. Returns the value of the Chi-Square(DF) distribution function at X. Vectorized."
  2272. T-CDF
  2273. "Args: (x df)
  2274. Returns the value of the T(DF) distribution function at X. Vectorized."
  2275. F-CDF
  2276. "Args: (x ndf ddf)
  2277. Returns the value of the F(NDF, DDF) distribution function at X. Vectorized."
  2278. CAUCHY-CDF
  2279. "Args: (x)
  2280. Returns the value of the standard Cauchy distribution function at X.
  2281. Vectorized."
  2282. LOG-GAMMA
  2283. "Args: (x)
  2284. Returns the log gamma function of X. Vectorized."
  2285. NORMAL-QUANT
  2286. "Args (p)
  2287. Returns the P-th quantile of the standard normal distribution. Vectorized."
  2288. CAUCHY-QUANT
  2289. "Args (p)
  2290. Returns the P-th quantile(s) of the standard Cauchy distribution. Vectorized."
  2291. BETA-QUANT
  2292. "Args: (p alpha beta)
  2293. Returns the P-th quantile of the Beta(ALPHA, BETA) distribution. Vectorized."
  2294. GAMMA-QUANT
  2295. "Args: (p alpha)
  2296. Returns the P-th quantile of the Gamma(ALPHA, 1) distribution. Vectorized."
  2297. CHISQ-QUANT
  2298. "Args: (p df)
  2299. Returns the P-th quantile of the Chi-Square(DF) distribution. Vectorized."
  2300. T-QUANT
  2301. "Args: (p df)
  2302. Returns the P-th quantile of the T(DF) distribution. Vectorized."
  2303. F-QUANT
  2304. "Args: (p ndf ddf)
  2305. Returns the P-th quantile of the F(NDF, DDF) distribution. Vectorized."
  2306. NORMAL-DENS
  2307. "Args: (x)
  2308. Returns the density at X of the standard normal distribution. Vectorized."
  2309. CAUCHY-DENS
  2310. "Args: (x)
  2311. Returns the density at X of the standard Cauchy distribution. Vectorized."
  2312. BETA-DENS
  2313. "Args: (x alpha beta)
  2314. Returns the density at X of the Beta(ALPHA, BETA) distribution. Vectorized."
  2315. GAMMA-DENS
  2316. "Args: (x alpha)
  2317. Returns the density at X of the Gamma(ALPHA, 1) distribution. Vectorized."
  2318. CHISQ-DENS
  2319. "Args: (x alpha)
  2320. Returns the density at X of the Chi-Square(DF) distribution. Vectorized."
  2321. T-DENS
  2322. "Args: (x alpha)
  2323. Returns the density at X of the T(DF) distribution. Vectorized."
  2324. F-DENS
  2325. "Args: (x ndf ddf)
  2326. Returns the density at X of the F(NDF, DDF) distribution. Vectorized."
  2327. UNIFORM-RAND
  2328. "Args: (n)
  2329. Returns a list of N uniform random variables from the range (0, 1).
  2330. Vectorized."
  2331. NORMAL-RAND
  2332. "Args: (n)
  2333. Returns a list of N standard normal random numbers. Vectorized."
  2334. CAUCHY-RAND
  2335. "Args: (n)
  2336. Returns a list of N standard Cauchy random numbers. Vectorized."
  2337. T-RAND
  2338. "Args: (n df)
  2339. Returns a list of N T(DF) random variables. Vectorized."
  2340. F-RAND
  2341. "Args: (n ndf ddf)
  2342. Returns a list of N F(NDF, DDF) random variables. Vectorized."
  2343. GAMMA-RAND
  2344. "Args: (n a)
  2345. Returns a list of N Gamma(A, 1) random variables. Vectorized."
  2346. CHISQ-RAND
  2347. "Args: (n df)
  2348. Returns a list of N Chi-Square(DF) random variables. Vectorized."
  2349. BETA-RAND
  2350. "Args: (n a b)
  2351. Returns a list of N beta(A, B) random variables. Vectorized."
  2352.  
  2353. ;; ddistributions.c
  2354. BINOMIAL-CDF
  2355. "Args (x n p)
  2356. Returns value of the Binomial(N, P) distribution function at X. Vectorized."
  2357. POISSON-CDF
  2358. "Args (x mu)
  2359. Returns value of the Poisson(MU) distribution function at X. Vectorized."
  2360. BINOMIAL-PMF
  2361. "Args (k n p)
  2362. Returns value of the Binomial(N, P) pmf function at integer K. Vectorized."
  2363. POISSON-PMF
  2364. "Args (k mu)
  2365. Returns value of the Poisson(MU) pmf function at integer K. Vectorized."
  2366.  
  2367. BINOMIAL-QUANT
  2368. "Args: (x n p)
  2369. Returns x-th quantile (left continuous inverse) of Binomial(N, P) cdf.
  2370. Vectorized."
  2371. POISSON-QUANT
  2372. "Args: (x mu)
  2373. Returns x-th quantile (left continuous inverse) of Poisson(MU) cdf.
  2374. Vectorized."
  2375. BINOMIAL-RAND
  2376. "Args: (k n p)
  2377. Returns list of K draws from the Binomial(N, P) distribution. Vectorized."
  2378. POISSON-RAND
  2379. "Args: (k mu)
  2380. Returns list of K draws from the Poisson(MU) distribution. Vectorized."
  2381.  
  2382. ;; linalg.c
  2383. LU-DECOMP
  2384. "Args: (a)
  2385. A is a square matrix of numbers (real or complex). Computes the LU
  2386. decomposition of A and returns a list of the form (LU IV D FLAG), where
  2387. LU is a matrix with the L part in the lower triangle, the U part in the 
  2388. upper triangle (the diagonal entries of L are taken to be 1), IV is a vector
  2389. describing the row permutation used, D is 1 if the number of permutations
  2390. is odd, -1 if even, and FLAG is T if A is numerically singular, NIL otherwise.
  2391. Used bu LU-SOLVE."
  2392. LU-SOLVE
  2393. "Args: (lu b)
  2394. LU is the result of (LU-DECOMP A) for a square matrix A, B is a sequence.
  2395. Returns the solution to the equation Ax = B. Signals an error if A is singular."
  2396. DETERMINANT
  2397. "Args: (m)
  2398. Returns the determinant of the square matrix M."
  2399. INVERSE
  2400. "Args: (m)
  2401. Returns the inverse of the the square matrix M; signals an error if M is ill
  2402. conditioned or singular"
  2403. SV-DECOMP
  2404. "Args: (a)
  2405. A is a matrix of real numbers with at least as many rows as columns.
  2406. Computes the singular value decomposition of A and returns a list of the form
  2407. (U W V FLAG) where U and V are matrices whose columns are the left and right
  2408. singular vectors of A and W is the sequence of singular values of A. FLAG is T
  2409. if the algorithm converged, NIL otherwise."
  2410. QR-DECOMP
  2411. "Args: (a &optional pivot)
  2412. A is a matrix of real numbers with at least as many rows as columns. Computes
  2413. the QR factorization of A and returns the result in a list of the form (Q R).
  2414. If PIVOT is true the columns of X are first permuted to place insure the
  2415. absolute values of the diagonal elements of R are nonincreasing. In this case
  2416. the result includes a third element, a list of the indices of the columns in
  2417. the order in which they were used."
  2418. CHOL-DECOMP
  2419. "Args: (a)
  2420. Modified Cholesky decomposition. A should be a square, symmetric matrix.
  2421. Computes lower triangular matrix L such that L L^T = A + D where D is a diagonal
  2422. matrix. If A is strictly positive definite D will be zero. Otherwise D is as
  2423. small as possible to make A + D numerically strictly positive definite. Returns
  2424. a list (L (max D))."
  2425. RCONDEST
  2426. "Args: (a)
  2427. Returns an estimate of the reciprocal of the L1 condition number of an upper
  2428. triangular matrix a."
  2429. MAKE-ROTATION
  2430. "Args: (x y &optional alpha)
  2431. Returns a rotation matrix for rotating from X to Y, or from X toward Y 
  2432. by angle ALPHA, in radians. X and Y are sequences of the same length."
  2433. SPLINE
  2434. "Args: (x y &key xvals)
  2435. Returns list of x and y values of natural cubic spline interpolation of (X,Y).
  2436. X must be strictly increasing. XVALS can be an integer, the number of equally
  2437. spaced points to use in the range of X, or it can be a sequence of points at 
  2438. which to interpolate."
  2439. KERNEL-SMOOTH
  2440. "Args: (x y &key xvals width type)
  2441. Returns list of x and y values of kernel smooth of (X,Y). XVALS can be an
  2442. integer, the number of equally spaced points to use in the range of X, or it
  2443. can be a sequence of points at which to interpolate. WIDTH specifies the
  2444. window width. TYPE specifies the lernel and should be one of the symbols G, T,
  2445. U or B for Gaussian, triangular, uniform or bisquare. The default is B."
  2446. KERNEL-DENS
  2447. "Args: (x &key xvals width type)
  2448. Returns list of x and y values of kernel density estimate of X. XVALS can be an
  2449. integer, the number of equally spaced points to use in the range of X, or it
  2450. can be a sequence of points at which to interpolate. WIDTH specifies the
  2451. window width. TYPE specifies the lernel and should be one of the symbols G, T,
  2452. U or B for gaussian, triangular, uniform or bisquare. The default is B."
  2453.  
  2454.  
  2455. ;; matrices1
  2456. MATMULT
  2457. "Args: (a b)
  2458. Returns the matrix product of matrices a and b. If a is a vector it is treated
  2459. as a row vector; if b is a vector it is treated as a column vector."
  2460. %*
  2461. "Args: (a b)
  2462. Returns the matrix product of matrices a and b. If a is a vector it is treated
  2463. as a row vector; if b is a vector it is treated as a column vector."
  2464. INNER-PRODUCT
  2465. "Args: (x y)
  2466. Returns inner product of sequences X and Y."
  2467. CROSS-PRODUCT
  2468. "Args: (x)
  2469. If X is a matrix returns (matmult (transpose X) X). If X is a vector returns
  2470. (inner-product X X)."
  2471. DIAGONAL
  2472. "Args: (x)
  2473. If X is a matrix, returns the diagonal of X. If X is a sequence, returns a
  2474. diagonal matrix of rank (length X) with diagonal elements eq to the elements
  2475. of X."
  2476. IDENTITY-MATRIX
  2477. "Args: (n)
  2478. Returns the identity matrix of rank N."
  2479. OUTER-PRODUCT
  2480. "Args: (x y &optional (fcn #'*))
  2481. Returns the generalized outer product of x and y, using fcn. Tat is, the result
  2482. is a matrix of dimension ((length x) (length y)) and the (i j) element of the
  2483. result is computed as (apply fcn (aref x i) (aref y j))."
  2484. ROW-LIST
  2485. "Args: (m)
  2486. Returns a list of the rows of M as vectors"
  2487. COLUMN-LIST
  2488. "Args: (m)
  2489. Returns a list of the columns of M as vectors"
  2490. BIND-ROWS
  2491. "Args (&rest args)
  2492. The ARGS can be matrices, vectors, or lists. Arguments are bound into a matrix
  2493. along their rows.
  2494. Example: (bind-rows #2a((1 2)(3 4)) #(5 6)) returns #2a((1 2)(3 4)(5 6))"
  2495. BIND-COLUMNS
  2496. "Args (&rest args)
  2497. The ARGS can be matrices, vectors, or lists. Arguments are bound into a matrix
  2498. along their columns.
  2499. Example: (bind-columns #2a((1 2)(3 4)) #(5 6)) returns #2a((1 2 5)(3 4 6))"
  2500. TRANSPOSE
  2501. "Args: (m)
  2502. Returns the transpose of the matrix M."
  2503.  
  2504. ;; matrices2
  2505. MAKE-SWEEP-MATRIX
  2506. "Args: (x y &optional weights)
  2507. X is a matrix, Y and WEIGHTS are sequences. Returns the sweep matrix for the
  2508. (possibly weighted) regression of Y on X."
  2509. SWEEP-OPERATOR
  2510. "Args: (a indices &optional tolerances)
  2511. A is a matrix, INDICES a sequence of the column indices to be swept. Returns
  2512. a list of the swept result and the list of the columns actually swept. (See
  2513. MULTREG documentation.) If supplied, TOLERANCES should be a list of real
  2514. numbers the same length as INDICES. An index will only be swept if its pivot
  2515. element is larger than the corresponding element of TOLERANCES."
  2516.  
  2517. ;; basics
  2518. SEQUENCEP
  2519. "Args: (x)
  2520. Returns T if X is a sequence, NIL otherwise."
  2521. COPY-VECTOR
  2522. "Args: (VECTOR)
  2523. Returns a copy of VECTOR with elements eq to the elements of VECTOR"
  2524. COPY-ARRAY
  2525. "Args: (array)
  2526. Returns a copy of ARRAY with elements eq to the elements of ARRAY."
  2527. SPLIT-LIST
  2528. "Args: (list cols)
  2529. Returns a list of COLS lists of equal length of the elements of LIST.
  2530. Example: (split-list '(1 2 3 4 5 6) 2) returns ((1 2 3) (4 5 6))"
  2531. WHICH
  2532. "Args: (x)
  2533. X is an array or a list. Returns a list of the indices where X is not NIL."
  2534. ISEQ
  2535. "Args: (n &optional m)
  2536. With one argumant returns a list of consecutive integers from 0 to N - 1.
  2537. With two returns a list of consecutive integers from N to M.
  2538. Examples: (iseq 4) returns (0 1 2 3)
  2539.           (iseq 3 7)  returns (3 4 5 6 7)
  2540.           (iseq 3 -3) returns (3 2 1 0 -1 -2 -3)"
  2541. REPEAT
  2542. "Args: (vals times)
  2543. Repeats VALS. If TIMES is a number and VALS is a non-null, non-array atom, a list
  2544. of length TIMES with all elements eq to VALS is returned. If VALS is a list and
  2545. TIMES is a number then VALS is appended TIMES times. If TIMES is a list of numbers
  2546. then VALS must be a list of equal length and the simpler version of repeat is
  2547. mapped down the two lists.
  2548. Examples: (repeat 2 5)                 returns (2 2 2 2 2)
  2549.           (repeat '(1 2) 3)            returns (1 2 1 2 1 2)
  2550.       (repeat '(4 5 6) '(1 2 3))   returns (4 5 5 6 6 6)
  2551.       (repeat '((4) (5 6)) '(2 3)) returns (4 4 5 6 5 6 5 6)"
  2552. SAMPLE
  2553. "Args: (x n &optional (replace nil))
  2554. Returns a list of a random sample of size N from sequence X drawn with or
  2555. without replacement."
  2556. SELECT
  2557. "Args: (a &rest indices)
  2558. A can be a list or an array. If A is a list and INDICES is a single number
  2559. then the appropriate element of A is returned. If  is a list and INDICES is
  2560. a list of numbers then the sublist of the corresponding elements is returned.
  2561. If A in an array then the number of INDICES must match the ARRAY-RANK of A.
  2562. If each index is a number then the appropriate array element is returned.
  2563. Otherwise the INDICES must all be lists of numbers and the corresponding
  2564. submatrix of A is returned. SELECT can be used in setf."
  2565. PERMUTE-ARRAY
  2566. "Args: (a p)
  2567. Returns a copy of the array A permuted according to the permutation P."
  2568.  
  2569. ;; compound
  2570. COMPOUND-DATA-P
  2571. "Args: (x)
  2572. Returns T if X is a compound data item, NIL otherwise."
  2573. MAP-ELEMENTS
  2574. "Args: (function data &rest more-data)
  2575. FUNCTION must take as many arguments as there are DATA arguments supplied.
  2576. DATA arguments must either all be sequences or all be arrays of the same
  2577. shape. The result is of the same type and shape as the first DATA argument,
  2578. with elements the result of applying FUNCTION elementwise to the DATA
  2579. arguments"
  2580. COMPOUND-DATA-SEQ
  2581. "Args (x)
  2582. Returns data sequence in X."
  2583. COMPOUND-DATA-LENGTH
  2584. "Args (x)
  2585. Returns length of data sequence in X."
  2586.  
  2587. ;; math.c
  2588. +
  2589. "Args: (&rest numbers)
  2590. Returns the sum of its arguments.  With no args, returns 0. Vectorized."
  2591. -
  2592. "Args: (number &rest more-numbers)
  2593. Subtracts the second and all subsequent NUMBERs from the first. With one arg,
  2594. negates it. Vectorized."
  2595. *
  2596. "Args: (&rest numbers)
  2597. Returns the product of its arguments. With no args, returns 1. Vectorized."
  2598. /
  2599. "Args: (number &rest more-numbers)
  2600. Divides the first NUMBER (element-wise) by each of the subsequent NUMBERS.
  2601. With one arg, returns its reciprocal. Vectorized."
  2602. REM
  2603. "Args: (x y)
  2604. Returns the remainder of dividing x by y. Vectorized."
  2605. PMIN
  2606. "Args: (&rest items)
  2607. Parallel minimum of ITEMS. Vectorized."
  2608. PMAX
  2609. "Args: (&rest items)
  2610. Parallel maximum of ITEMS. Vectorized."
  2611. ^
  2612. "Args: (base-number power-number)
  2613. Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
  2614. **
  2615. "Args: (base-number power-number)
  2616. Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
  2617. EXPT
  2618. "Args: (base-number power-number)
  2619. Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
  2620. LOG
  2621. "Args: (number)
  2622. Returns the natural logarithm(s) of NUMBER. Vectorized."
  2623.  
  2624. ABS
  2625. "Args: (number)
  2626. Returns the absolute value or modulus of NUMBER. Vectorized."
  2627. 1+
  2628. "Args: (number)
  2629. Returns NUMBER + 1. Vectorized."
  2630. 1-
  2631. "Args: (number)
  2632. Returns NUMBER - 1. Vectorized."
  2633. SIN
  2634. "Args: (radians)
  2635. Returns the sine of RADIANS. Vectorized."
  2636. COS
  2637. "Args: (radians)
  2638. Returns the cosine of RADIANS. Vectorized."
  2639. TAN
  2640. "Args: (radians)
  2641. Returns the tangent of RADIANS. Vectorized."
  2642. EXP
  2643. "Args: (x)
  2644. Calculates e raised to the power x, where e is the base of natural
  2645. logarithms. Vectorized."
  2646. SQRT
  2647. "Args: (number)
  2648. Returns the square root of NUMBER. Vectorized."
  2649. TRUNCATE
  2650. "Args: (number)
  2651. Returns real NUMBER as an integer, rounded toward 0. Vectorized."
  2652. FLOAT
  2653. "Args: (number)
  2654. Converts real number to a floating-point number.  If NUMBER is
  2655. already a float, FLOAT simply returns NUMBER. Vectorized."
  2656. RANDOM
  2657. "Args: (number)
  2658. Generates a uniformly distributed pseudo-random number between zero (inclusive)
  2659. and NUMBER (exclusive). Vectorized."
  2660. FLOOR
  2661. "Args: (number)
  2662. Returns the largest integer( not larger than the NUMBER. Vectorized."
  2663. CEILING
  2664. "Args: (number)
  2665. Returns the smallest integer(s) not less than or NUMBER. Vectorized."
  2666. ROUND
  2667. "Args: (number)
  2668. Rounds NUMBER to nearest integer. Vectorized."
  2669. ASIN
  2670. "Args: (number)
  2671. Returns the arc sine of NUMBER. Vectorized."
  2672. ACOS
  2673. "Args: (number)
  2674. Returns the arc cosine of NUMBER. Vectorized."
  2675. ATAN
  2676. "Args: (number)
  2677. Returns the arc tangent of NUMBER. Vectorized."
  2678. PHASE
  2679. "Args: (number)
  2680. Returns the angle part of the polar representation of a complex number.
  2681. For non-complex numbers, this is 0."
  2682.  
  2683. MINUSP
  2684. "Args: (number)
  2685. Returns T if NUMBER < 0; NIL otherwise. Vectorized."
  2686. ZEROP
  2687. "Args: (number)
  2688. Returns T if NUMBER = 0; NIL otherwise. Vectorized."
  2689. PLUSP 
  2690. "Args: (number)
  2691. Returns T if NUMBER > 0; NIL otherwise. Vectorized."
  2692. EVENP
  2693. "Args: (integer)
  2694. Returns T if INTEGER is even.  Returns NIL if INTEGER is odd. Vectorized."
  2695. ODDP
  2696. "Args: (integer)
  2697. Returns T if INTEGER is odd; NIL otherwise. Vectorized."
  2698.  
  2699. LOGAND
  2700. " Args: ({number}*)
  2701. Bit-wise logical AND of NUMBERs. Vectorized."
  2702. LOGIOR
  2703. " Args: ({number}*)
  2704. Bit-wise logical OR of NUMBERs. Vectorized."
  2705. " Args: ({number}*)
  2706. Bit-wise logical XOR of NUMBERs. Vectorized."
  2707. LOGNOT
  2708. "Args: (number)
  2709. Bit-wise logical NOT of NUMBER. Vectorized."
  2710. LOGXOR
  2711. "Args: (&rest integers)
  2712. Returns the bit-wise EXCLUSIVE OR of its arguments."
  2713.  
  2714. <
  2715. "Args: (&rest numbers)
  2716. Returns T if NUMBERS are in strictly increasing order; NIL otherwise.
  2717. Vectorized."
  2718. <=
  2719. "Args: (&rest numbers)
  2720. Returns T if NUMBERS are in nondecreasing order; NIL otherwise. Vectorized."
  2721. =
  2722. "Args: (&rest numbers)
  2723. Returns T if NUMBERS are all equal; NIL otherwise. Vectorized."
  2724. /=
  2725. "Args: (&rest numbers)
  2726. Returns T if NUMBERS no two adjacent numbers are equal; NIL otherwise. Vectorized."
  2727. >=
  2728. "Args: (&rest numbers)
  2729. Returns T if NUMBERS are in nonincreasing order; NIL otherwise. Vectorized."
  2730. >
  2731. "Args: (&rest numbers)
  2732. Returns T if NUMBERS are in strictly decreasing order; NIL otherwise. Vectorized."
  2733.  
  2734. ;; objects
  2735. KIND-OF-P
  2736. "Args: (x y)
  2737. Returns T is X and Y are objects and X inherits from Y, NIL otherwise."
  2738. SLOT-VALUE
  2739. "Args: (slot &optional value)
  2740. Must be used in a method. Returns the value of current objects slot named SLOT.
  2741. If Value is supplied SLOT is set to VALUE. Can be used in setf."
  2742. MAKE-OBJECT
  2743. "Args: (&rest parents)
  2744. Returns a new object with parents PARENTS. If PARENTS is NIL (list *OBJECT*)
  2745. is used."
  2746. SEND
  2747. "Args: (object selector &rest args)
  2748. Applies first method for SELECTOR found in OBJECT's precedence list to
  2749. OBJECT and ARGS."
  2750. SEND-SUPER
  2751. "Args: (selector &rest args)
  2752. Apply inherited method. Must be used within a method. Specifically, Applies 
  2753. first method for SELECTOR found in the cdr of the precedence list of the owner
  2754. of the current method to the current object and args."
  2755. CALL-METHOD
  2756. "Args (object selector &rest args)
  2757. Funcalls method for SELECTOR found in OBJECT to SELF. Can only be used in a method."
  2758. CALL-NEXT-METHOD
  2759. "Args (&rest args)
  2760. Funcalls next method for current selector and precedence list. Can only be used in a method."
  2761. DEFMETH
  2762. "Syntax: (defmeth object name lambda-list [doc] {form}*)
  2763. OBJECT must evaluate to an existing object. Installs a method for NAME in
  2764. the value of OBJECT and installs DOC in OBJECTS's documentation."
  2765. DEFPROTO
  2766. "Syntax (defproto name &optional ivars cvars (parent *object*) doc)
  2767. Makes a new object prototype with instance variables IVARS, 'class'
  2768. variables CVARS and parents PARENT. PARENT can be a single object or
  2769. a list of objects. IVARS and CVARS must be lists."
  2770.  
  2771. ;; optimize
  2772. BRACKET-SEARCH
  2773. "Args: (f a b &key (max-iters 50) (verbose nil))
  2774. F is a real valued function of one argument, A and B are real numbers.
  2775. Tries to bracket a local minimum of f. Returns a list of the form 
  2776. ((A C B) (FA FC FB)), with A <= C <= B and FA = (f A) , etc. If the search
  2777. was successful then FC < min(FA, FB). Prints iteration information if
  2778. VERBOSE is not NIL."
  2779. GOLDEN-SEARCH
  2780. "Args: (f a b &key start (tolerance .000001) (verbose nil))
  2781. F is a real valued function of one argument, A and B are real numbers.
  2782. Uses a golden section search to locate the minimum of F. Convergence
  2783. occurs roughly when the change in X is less than tolerance * (1 + x).
  2784. Returns list of the form (X FX), with FX = (F X). Prints iteration
  2785. information if VERBOSE is not NIL."
  2786. PARABOLIC-SEARCH
  2787. "Args: (f a b &key start (tolerance .00001) (max-iters 100) (verbose nil))
  2788. F is a real valued function of one argument, A and B are real numbers.
  2789. Uses a hybrid parabolic approximation/golden section search to locate
  2790. the minimum of F. Convergence occurs roughly when the change in X is
  2791. less than tolerance * (1 + x). Returns list of the form (X FX N), 
  2792. with FX = (F X) and N is the number of iterations. Prints iteration information
  2793. if VERBOSE is not NIL."
  2794.  
  2795. ;; sortdata.c
  2796. SORT-DATA
  2797. "Args: (sequence)
  2798. Returns a sequence with the numbers or strings in the sequence X in order."
  2799. ORDER
  2800. "Args (x)
  2801. Returns a sequence of the indices of elements in the sequence of numbers
  2802. or strings X in order."
  2803. RANK
  2804. "Args (x)
  2805. Returns a sequence with the elements of the list or array of numbers or
  2806. strings X replaced by their ranks."
  2807.  
  2808. ;; statistics.c
  2809. QUANTILE
  2810. "Args: (x p)
  2811. Returns the P-th quantile(s) of X. Vectorized on P."
  2812. SUM
  2813. "Args: (&rest number-data)
  2814. Returns the sum of all the elements of its arguments. Returns 0 if there
  2815. are no arguments. Vector reducing."
  2816. PROD
  2817. "Args: (&rest number-data)
  2818. Returns the product of all the elements of its arguments. Returns 1 if there
  2819. are no arguments. Vector reducing."
  2820. MIN
  2821. "Args: (number &rest more-numbers)
  2822. Returns the least of its arguments. Vector reducing"
  2823. MAX
  2824. "Args: (number &rest more-numbers)
  2825. Returns the greatest of its arguments. Vector reducing"
  2826. COUNT-ELEMENTS
  2827. "Args: (number &rest more-numbers)
  2828. Returns the number of its arguments. Vector reducing"
  2829. ELEMENT-SEQ
  2830. "Args: (x)
  2831. Returns sequence of the elements of compound item X."
  2832. IF-ELSE
  2833. "Args: (first x y)
  2834. Takes simple or compound data items FIRST, X and Y and returns result of
  2835. elementswise selecting from X if FIRST is not NIL and from Y otherwise."
  2836. MEAN
  2837. "Args: (x)
  2838. Returns the mean of the elements x. Vector reducing."
  2839. NUMGRAD
  2840. "Args: (f x &optional scale derivstep)
  2841. Computes the numerical gradient of F at X."
  2842. NUMHESS
  2843. "Args: (f x &optional scale derivstep)
  2844. Computes the numerical Hessian matrix of F at X."
  2845.  
  2846. ;; uni
  2847. MAKE-RANDOM-STATE
  2848. "Args (&optional state)
  2849. If STATE is NIL or omitted returns a copy of the current value of
  2850. *random-state*. If STATE is a state object a copy of STATE is returned.
  2851. If STATE is T a new, \"randomly\" initialized state object is returned."
  2852. RANDOM-STATE-P
  2853. "Args (x)
  2854. Returns T if X can be used as a RANDOM-STATE."
  2855.  
  2856. ;; windows
  2857. SCREEN-SIZE
  2858. "Args: ()
  2859. Returns list (WIDTH HEIGHT) of screen dimensions."
  2860. SCREEN-HAS-COLOR
  2861. "Args: ()
  2862. Returns T is system supports color, NIL otherwise."
  2863.  
  2864. ;; xsiviewwindow.c
  2865. RESET-GRAPHICS-BUFFER
  2866. "Args: ()
  2867. Resets the graphics buffer."
  2868.  
  2869. ;; xsiviewinternal
  2870. UNLINK-ALL-WINDOWS
  2871. "Args: ()
  2872. Unlinks all plots."
  2873.  
  2874. ;; xsiview
  2875. GET-NICE-RANGE
  2876. "Args: (low high ticks)
  2877. Returns list of the form (LOW HIGH TICKS) that makes for nice tick marks."
  2878.  
  2879. ;; xsgraphics
  2880. HISTOGRAM
  2881. "Args: (data &key (title \"Histogram\"))
  2882. Opens a window with a histogram of DATA. TITLE is the window title. The number
  2883. of bins used can be adjusted using the histogram menu. The histogram can be
  2884. linked to other plots with the link-views command. Returns a plot object."
  2885. PLOT-POINTS
  2886. "Args: (x y &key (title \"Scatter Plot\") variable-labels point-labels symbol color)
  2887. Opens a window with a scatter plot of X vs Y, where X and Y are compound
  2888. number-data. VARIABLE-LABELS and POINT-LABELS, if supplied, should be lists of
  2889. character strings. TITLE is the window title. The plot can be linked to
  2890. other plots with the link-views command. Returns a plot object."
  2891. PLOT-LINES
  2892. "Args: (x y &key (title \"Line Plot\") variable-labels type width color)
  2893. Opens a window with a connected line plot of X vs Y, where X and Y are
  2894. compound number-data. VARIABLE-LABELS, if supplied, should be lists of
  2895. character strings. TITLE is the window title. The plot can be linked to
  2896. other plots with the link-views command. Returns a plot object."
  2897. SPIN-PLOT
  2898. "Args: (data &key (title \"Spinning Plot\") variable-labels point-labels
  2899.                  (scale t))
  2900. DATA is a list of three compound number-data objects of equal length. Opens
  2901. a window with a rotating plot of the three elements of DATA. VARIABLE-LABELS
  2902. and POINT-LABELS, if supplied, should be lists of character strings. TITLE
  2903. is the window title. If scale is NIL data are assumed to be between -1 and 1.
  2904. The plot can be linked to other plots with the link-views command. Returns
  2905. a plot object."
  2906. SCATTERPLOT-MATRIX
  2907. "Args: (data &key (title \"Spinning Plot\") variable-labels point-labels
  2908.                  (scale t))
  2909. DATA is a list of two or more compound number-data objects of equal length.
  2910. Opens a window with a brushable scatter plot matrix of the elements of DATA.
  2911. VARIABLE-LABELS and POINT-LABELS, if supplied, should be lists of character strings.
  2912. TITLE is the window title. If scale is NIL data are assumed to be between -1
  2913. and 1.The plot can be linked to other plots with the link-views command.
  2914. Returns a plot object."
  2915. NAME-LIST
  2916. "Args: (names &key (title \"Name List\"))
  2917. NAMES is a number or a list of character strings. Opens a window with a list
  2918. of the supplied character strings or entries numbered from 0 to NAMES - 1.
  2919. This display can be linked to plots with the link-views function. Returns a
  2920. plot object."
  2921. BEST-CURSOR-SIZE
  2922. "Args: (&optional width height)
  2923. Returns list of best cursor width and height close to WIDTH and HEIGHT
  2924. to use on the active display. Only available under X11 windows."
  2925. PARSE-COLOR
  2926. "Args: (string)
  2927. Returns list of RGB values for STRING, an X11 color specification.
  2928. Only available under X11 windows."
  2929. FREE-COLOR 
  2930. "Args: (symbol)
  2931. Frees the color associated with SYMBOL."
  2932. FREE-CURSOR
  2933. "Args: (symbol)
  2934. Frees the cursor associated with SYMBOL."
  2935. MAKE-COLOR
  2936. "Args: (symbol red green blue)
  2937. Allocates color specified by real fractinal RGB values and associates
  2938. it with SYMBOL."
  2939. MAKE-CURSOR
  2940. "Args: (symbol image &optional mask x-hot y-hot)
  2941. Allocates cursor and associates it with SYMBOL. IMAGE and MASK are matrices of
  2942. 0's and 1's, x-hot and y-hot are integers representing the hot spot."
  2943. #|
  2944. (GRAPH-PROTO  OBJECT :ADD-STRINGS)
  2945. "Method args: (locations strings)
  2946. Adds strings to plot. LOCATIONS is a list of sequences, the coordinates of the
  2947. strings. If DRAW is true the new lines are added to the screen."
  2948. (GRAPH-PROTO  OBJECT :CLEAR-STRINGS)
  2949. "Method args: (&key (draw t))
  2950. Removes all strings from the plot. If DRAW is true the :REDRAW-CONTENT
  2951. message is sent."
  2952. (GRAPH-PROTO  OBJECT :NUM-STRINGS)
  2953. "Method args: ()
  2954. Returns the number of strings in the plot."
  2955. (GRAPH-PROTO  OBJECT :STRING-COORDINATE)
  2956. "Method args: (var line &optional value)
  2957. Sets or retrieves coordinate for variable VAR and string STRING in the original
  2958. coordinate system. Vectorized."
  2959. (GRAPH-PROTO  OBJECT :STRING-SCREEN-COORDINATE)
  2960. "Method args: (var line)
  2961. Returns rounded coordinate for variable VAR and string STRING in the screen
  2962. coordinate system. Vectorized."
  2963. (GRAPH-PROTO  OBJECT :STRING-TRANSFORMED-COORDINATE)
  2964. "Method args: (var line)
  2965. Returns coordinate for variable VAR and string STRING in the transformed
  2966. coordinate system. Vectorized."
  2967. (GRAPH-PROTO  OBJECT :STRING-MASKED)
  2968. "Method args: (line &optional masked)
  2969. Sets or retrieves masked state (true or NIL) of string STRING. Vectorized."
  2970. (GRAPH-PROTO  OBJECT :STRING-COLOR)
  2971. "Method args: (line &optional color)
  2972. Sets or retrieves color of string STRING. Vectorized."
  2973. (GRAPH-PROTO  OBJECT :STRING-MODIFIERS)
  2974. "Method args: (line &optional up h v)
  2975. Sets or retrieves positioning modifiers for string STRING. Up (true or NIL) indicates
  2976. vertical or horizontal drawing. H and V are as in :DRAW-TEXT."
  2977. (GRAPH-PROTO  OBJECT :DRAW-DATA-STRINGS)
  2978. "Method args: (var1 var2 m n)
  2979. Draws strings with indices between m (inclusive) and n (exclusive) using VAR1 and VAR2 
  2980. coordinates."
  2981. |#